Java日期——NWU_LK

时间类位置

java.time包下,都采用iso-8601标准

时间日期类

  • 日期类LocalDate
  • 时间类LocalTime
  • 时间日期类:LocalDateTime

时间戳与间隔

Instant:获取时间戳
Duration:获取两个时期的间隔
Period:获取两个日期的间隔

时间矫正器

TemporalAdjuster:时间矫正器,用于获取某天的操作,比如下个周日,可以通过日期类的with方法传入。

LocalDateTime localDateTime=LocalDateTime.now();
//获取下周一的日期
localDateTime.with(TemporalAdjusters.next(DayOfWeek.MONDAY))

时间格式化与处理

DateTimeFormat类处理格式

LocalDateTime localDateTime=LocalDateTime.now();
//自定义格式化器
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd,HH:mm:ss");
System.out.println(localDateTime.format(formatter));
//使用储存的格式化器
System.out.println(localDateTime.format(DateTimeFormatter.ISO_DATE));

ZoneDate、ZoneTime、ZoneDateTime类处理时区

LocalDateTime localDateTime=LocalDateTime.now();
//调整时区后的结果
OffsetDateTime offsetDateTime = in.atOffset(ZoneOffset.ofHours(8));
System.out.println(offsetDateTime);
//查看所有时区ID
System.out.println(ZoneId.getAvailableZoneIds());
//创建时间时指定时区ID
LocalDateTime localDateTime=LocalDateTime.now(ZoneId.of("America/Cuiaba"));
//带时区显示时间
ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.of("America/Cuiaba"));
System.out.println(zonedDateTime);

版权声明:本文为NWU_LK原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。