Java LocalDate
Java LocalDate类是Java 8 Date API的一部分。
Java LocalDate
Java LocalDate是不可变的类,因此是线程安全的。
LocalDate以YYYY-MM-dd格式提供日期输出。
LocalDate类没有时间或者时区数据。
因此LocalDate适合代表生日,国定假日等日期。LocalDate类实现了Temporal,TemporalAdjuster,ChronoLocalDate和Serializable接口。
LocalDate是最后一堂课,因此我们无法扩展它。
LocalDate是一个基于值的类,因此我们应该使用equals()方法比较两个LocalDate实例是否相等。
导入Java LocalDate类
Java LocalDate类在java.time
包中。
因此,您可以使用import语句将其导入:
import java.time.LocalDate;
创建LocalDate实例
有四种创建LocalDate实例的标准方法。
调用静态的" now()"方法,该方法从系统时钟返回当前日期。
通过将Year,Month和Day值传递给LocalDate of()方法
使用LocalDate的parse()方法。
使用LocalDate的ofInstant()方法,如下所示。
从LocalDate类检索日期信息
Java LocalDate类提供了许多有用的方法来获取有关日期的更多详细信息,例如年,月,日等。
让我们通过一些示例程序来研究这些内容。
getYear():返回LocalDate对象中包含的年份。
getMonth():返回LocalDate对象中包含的月份。
getDayOfMonth():返回LocalDate对象中包含的月份中的某天。
getDayOfWeek():从LocalDate对象返回星期几。
getDayOfYear():从LocalDate实例返回一年中的一天。
Java LocalDate方法–加号和减号
plusYears(long yearsToAdd):将yearsToAdd添加到年份值并返回LocalDate对象的副本。
由于LocalDate是不可变的,因此指定的对象不会更改。
同样,如果新日期无效,则返回最后一个有效日期。plusWeeks(long weeksToAdd):在添加weeksToAdd周之后,返回一个新的LocalDate实例,指定对象没有变化。
plusMonths(long monthsToAdd):在添加monthsToAdd月之后,返回指定LocalDate对象的副本。
plusDays(long daysToAdd):在添加daysToAdd天后返回指定LocalDate对象的副本。
minusDays(long daysToSubtract):减去daysToSubtract天后,返回指定LocalDate对象的副本。
minusWeeks(long weeksToSubtract):减去weeksToSubtract周后,返回指定LocalDate对象的副本。
minusMonths(long monthsToSubtract):减去monthsToSubtract月后,返回指定LocalDate对象的副本。
minusYears(long yearsToSubtract):减去yearsToSubtract年后,返回指定LocalDate对象的副本。
如果新的LocalDate无效(2月29日),则返回上一个有效日期。
迄今为止的Java LocalDate
我们应该避免使用传统的java.util.Date
类,但是有时我们必须将LocalDate转换为Date以获取传统支持。
下面是将LocalDate转换为Date的两种方法,您可以使用其中任何一种。
LocalDate ldObj = LocalDate.now(); System.out.println(ldObj); //prints "2016-11-10"