Java 8 Time Api - LocalDate

2019-10-27  本文已影响0人  xuanjiuye

LocalDate

引言
java.util.Date与java.util.Calendar并不是线程安全,开发者需要自己编写额外的代码来处理线程安全。
旧的时间api都不是很好理解,并且并没有提供一些常用的解析转换方法。

解决方案
Java 8 为了弥补这些缺点,提供大量的时间类库, 比如LocalDate, LocalTime, LocalDateTime,
ZonedDateTime, Period, Duration,提供了操作友好的api 作为本文的就来讲一讲比如LocalDate的部分使用

LocalDate ISO格式(YYYY-MM-DD)

获取本地当天时间

LocalDate now = LocalDate.now();

获取本地某一天时间

 LocalDate of = LocalDate.of(2019, 10, 27);
 LocalDate parse = LocalDate.parse("2019-10-27");

获取当前本地日期并添加一天

LocalDate plusDays = LocalDate.now().plusDays(1);

获取当前日期并减去一个月,其中使用了枚举作为时间单位

LocalDate minus = LocalDate.now().minus(1, ChronoUnit.MONTHS);

获取一个星期中的序号

DayOfWeek dayOfWeek = LocalDate.parse("2019-10-27").getDayOfWeek();
int value = dayOfWeek.getValue();

获取一个月中的序号

int dayOfMonth = LocalDate.parse("2019-10-27").getDayOfMonth();

日期比较:

boolean before = LocalDate.parse("2019-10-27").isBefore(LocalDate.parse("2019-10-07"));
boolean after = LocalDate.parse("2019-10-27").isAfter(LocalDate.parse("2016-10-07"));

获取月初时间

LocalDate firstDayOfMonth = LocalDate.parse("2019-10-27").with(TemporalAdjusters.firstDayOfMonth());
LocalDate lastDayOfMonth = LocalDate.parse("2019-10-27").with(TemporalAdjusters.lastDayOfMonth());
上一篇下一篇

猜你喜欢

热点阅读