美文网首页
Java 8 java.time时间类

Java 8 java.time时间类

作者: 花落红窗 | 来源:发表于2022-01-17 17:21 被阅读0次

前言

在Java 8中新增了表示时间的类,用来替代原来的Date、Calendar类
在新的时间类中,有三个时间概念需要与原来的作区分,可以参考SQL里的时间类型

  • Date —— 日期,不包含时间
  • Time —— 一天中的时间
  • DateTime —— 日期加时间

Java 8的时间相关的几个包

  1. java.time:核心时间类
  2. java.time.chrono 其他地方的纪年法
  3. java.time.format 时间格式化相关的类
  4. java.time.temporal 定义时间的基础接口
  5. java.time.zone 时区相关的类

常用的类

说明
Duration 表示持续时间,从一个时间点持续到另一个时间点,比如:数据结构课从8:00上到10:00
Instant 时间点
LocalDate 本地日期,默认时区
LocalDateTime 本地日期时间,默认时区
MonthDay 月份中的日期
OffsetDateTime 时区偏移量的日期时间
OffsetTime 时区偏移量的事件
Period 表示时间段,最小单位是天,开始结束时间点不确定,比如:国庆放7天假
Year
YearMonth 一年中的月
ZonedDateTime 时区的日期时间
ZoneId 时区ID,比如Asia/Shanghai
DayOfWeek 一周的天
Month
DateTimeFormatter 日期格式化

UML类图

java.time包部分类UML图.png

转换关系

Java8 Time类转换图.png

Spring支持

Spring Boot

如果是Spring默认的Jackson库,在字段上Jackson的@JsonFormat注解,Spring在序列化和反序列化时都会按照指定的格式进行格式化和解析,即请求类型和返回类型的字段都可以用。

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
LocalDateTime createAt;

Spring Cloud

Spring Cloud通过Feign请求返回值LocalDateTime异常处理

相关文章

网友评论

      本文标题:Java 8 java.time时间类

      本文链接:https://www.haomeiwen.com/subject/vnwchrtx.html