ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 第一个时间戳的小例子 ``` Instant start = Instant.now(); Instant end = Instant.now(); System.out.println(Duration.between(start,end).toMillis()); ``` * * * * * 传统的时间类型的API存在线程安全的问题。 ### LocalDate,LocalDateTime,LocalTime public final class LocalDate...{} 提供简单的日期或时间,并不包含当前的时间信息。 ``` LocalDate localDate = LocalDate.now(); //2017-12-18 LocalDateTime localDateTime = LocalDateTime.now(); //2017-12-18T16:14:22.878 LocalTime localTime = LocalTime.now(); //16:15:11.448 localTime.plus() localTime.minus() ``` ### Instant 时间戳 以UNIX元年1970年1月1日0时0分0秒到某个时间的毫秒值。 ``` Instant start = Instant.now(); //获取的是UTC时区(格林威治时间) ``` ### Duration 计算二个时间之间的间隔 ``` Instant start = Instant.now(); Instant end = Instant.now(); System.out.println(Duration.between(start,end).toMillis()); ``` ### Period 计算二个日期之间的间隔 ``` LocalDate start = LocalDate.of(2016,12,1); LocalDate end = LocalDate.now(); System.out.println(Period.between(start,end).getDays()); //得到差的天数 ``` Period的方法源码 只接受LocalDate ``` public static Period between(LocalDate startDateInclusive, LocalDate endDateExclusive) { return startDateInclusive.until(endDateExclusive); } ``` ### TemporalAdjuster时间校正器 LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()); 。。。。。