_022_java_ Java8 LocalDate/LocalDateTime常用方法

来自:https://blog.csdn.net/u012859681/article/details/78063882,感谢作者的无私分享。

简单来说,LocalDate就是不带时分秒(为0)的日期,而LocalDateTime则有时分秒。 
新东西当然就得用,下面是一些常用的方法,做个笔记。

  • 获取当前时间
LocalDate now = LocalDate.now();
LocalDate now = LocalDate.now(ZoneId.systemDefault());
LocalDateTime now = LocalDateTime.now();
LocalDateTime now = LocalDateTime.now(ZoneId.systemDefault());
  • 获取指定日期的时间
LocalDate now = LocalDate.of(2017, 9, 22);
LocalDateTime now = LocalDateTime.of(2017, 9, 22, 15, 40, 00);
  • Date转换为LocalDate/LocalDateTime
Date date = new Date();
LocalDate now = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDateTime nowTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
  • LocalDate/LocalDateTime转换为Date
LocalDate now = LocalDate.now(ZoneId.systemDefault());
Date date = Date.from(now.atStartOfDay(ZoneId.systemDefault()).toInstant());

LocalDateTime now = LocalDateTime.now(ZoneId.systemDefault());
Date date = Date.from(now.atZone(ZoneId.systemDefault()).toInstant());
  • 获取两个LocalDate的相差天数
/**
 * 如果是 now.until(before, ChronoUnit.DAYS), 返回的结果是负数
 */
LocalDate before = LocalDate.of(2017, 9, 22);
LocalDate now = LocalDate.now(ZoneId.systemDefault());
long betweenDays = before.until(now, ChronoUnit.DAYS);

猜你喜欢

转载自blog.csdn.net/poiuyppp/article/details/80875263