Java的日期与时间(十二)java.time.LocalDate

Java的日期与时间

原文链接
作者:Jakob Jenkov
译者:阿为
目录:http://blog.csdn.net/tjgykhulj/article/details/68952451
所有译者备注将以此形式出现,删除线表示有争议或不明确的地方


LocalDate类是Java 8中日期时间功能里表示一个本地日期的类,它的日期是无时区属性的。可以用来表示生日、节假日期等等。这个类用于表示一个确切的日期,而不是这个日期所在的时间(如java.util.Date中的2000.01.01表示的实际是这一天的00:00这个瞬间)。
LocalDate类位于java.time包下,人名叫java.time.LocalDate,创建出来的实例也是不可变对象,所以涉及它的计算方法将返回一个新的LocalDate。

创建一个LocalDate实例
我们有多种方式可以创建出LocalDate实例。第一种方法是使用now()方法获得值为今天当日的LocalDate对象:
LocalDate localDate = LocalDate.now();
另一种方法是使用年月日信息构造出LocalDate对象:
LocalDate localDate2 = LocalDate.of(2015, 12, 31);
LocalDate的of()方法创建出一个指定年月日的日期,并且没有时区信息。

访问日期信息
可以用如下方法访问LocalDate中的日期信息:

int   year       = localDate.getYear();
Month month      = localDate.getMonth();
int   dayOfMonth = localDate.getDayOfMonth();
int   dayOfYear  = localDate.getDayOfYear();
DayOfWeek dayOfWeek = localDate.getDayOfWeek();

可以注意到getMonth()与getDayOfWeek()方法返回了一个枚举类型代替一个int。你可以通过枚举类型中的getValue()来获得信息。

LocalDate计算
你可以进行一堆简单的日期计算,只要使用如下的方法:

plusDays()
plusWeeks()
plusMonths()
plusYears()
minusDays()
minusWeeks()
minusMonths()
minusYears()

以下举几个使用的例子来帮助理解使用:

LocalDate d  = LocalDate.of(2015, 12, 31);
LocalDate d1 = localDate.plusYears(3);
LocalDate d2 = localDate.minusYears(3);

第一行创建出一个新的LocalDate对象d,表示2015.12.31。
第二行创建了值等于d日期3年后的LocalDate对象,第三行也是一样,只是值改为d日期的三年前。


下一章:java.time.LocalTime

你可能感兴趣的:(Jenkov,Java)