欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java8时间类常用示例

程序员文章站 2024-03-12 23:30:21
...

Java8引入了一套全新的时间Api,自己在实际使用中会经常百度在某个场景下的api接口,所以这里做一个整理,会持续更新一些经常用到的示例.

获取当下的日期时间信息

// 获取当前日期
LocalDate curDate = LocalDate.now();
// 获取当前时间
LocalTime curTime = LocalTime.now();
// 获取当前年月日时分秒
LocalDateTime curDateTime = LocalDateTime.now();

// 输出 curDate : 2019-08-23
System.out.println("curDate : " + curDate);
// 输出 curTime : 15:12:58.750
System.out.println("curTime : " + curTime);
// 输出 curDateTime : 2019-08-23T15:12:58.750
System.out.println("curDateTime : " + curDateTime);

日期之间的比较

LocalDate为例.

LocalDate now = LocalDate.now();
LocalDate another = LocalDate.of(2019, 8, 23);
// 是否相等 输出:true
System.out.println(now.equals(another));
// 是否在另一个日期之后 输出:false
System.out.println(now.isAfter(another));
// 是否在另一个日期之前 输出:false
System.out.println(now.isBefore(another));

这里用到一个LocalDate.of()的方法,所得即你所见,方法里没有隐藏逻辑,你输入的就是你拿到的日期.

一个日期到另一个日期的相差量

LocalDateTime now = LocalDateTime.of(2019, 8, 23, 15, 29, 0);
LocalDateTime another = LocalDateTime.of(2019, 7,20, 15, 18, 32);

long until = another.until(now, ChronoUnit.DAYS);
// 输出:34
System.out.println(until);

ChronoUnit是个枚举类,还有时、分、,秒、纳秒等等。。。

加减一段时间

LocalDateTime now = LocalDateTime.now();
now.plusDays(long day);
now.plusMinutes(long minutes);
now.minusMonths(long thonths);

获取特定的周几

// 现在时间是周五
LocalDate now = LocalDate.now();
LocalDate monday = now.with(DayOfWeek.MONDAY);
// 输出:2019-08-19
System.out.println(monday);

// 周日
now = LocalDate.of(2019, 8, 25);
monday = now.with(DayOfWeek.MONDAY);
// 输出:2019-08-19
System.out.println(monday);

自定义格式

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMM dd yyyy");


转载请注明出处.:这是我的博客,这是我的csdn

相关标签: java8实践类