Java 8 java.time時間類

前言

在Java 8中新增了表示時間的類,用來替代原來的Date、Calendar類
在新的時間類中,有三個時間概念需要與原來的作區(qū)分,可以參考SQL里的時間類型

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

Java 8的時間相關(guān)的幾個包

  1. java.time:核心時間類
  2. java.time.chrono 其他地方的紀年法
  3. java.time.format 時間格式化相關(guān)的類
  4. java.time.temporal 定義時間的基礎(chǔ)接口
  5. java.time.zone 時區(qū)相關(guān)的類

常用的類

說明
Duration 表示持續(xù)時間,從一個時間點持續(xù)到另一個時間點,比如:數(shù)據(jù)結(jié)構(gòu)課從8:00上到10:00
Instant 時間點
LocalDate 本地日期,默認時區(qū)
LocalDateTime 本地日期時間,默認時區(qū)
MonthDay 月份中的日期
OffsetDateTime 時區(qū)偏移量的日期時間
OffsetTime 時區(qū)偏移量的事件
Period 表示時間段,最小單位是天,開始結(jié)束時間點不確定,比如:國慶放7天假
Year
YearMonth 一年中的月
ZonedDateTime 時區(qū)的日期時間
ZoneId 時區(qū)ID,比如Asia/Shanghai
DayOfWeek 一周的天
Month
DateTimeFormatter 日期格式化

UML類圖

java.time包部分類UML圖.png

轉(zhuǎn)換關(guān)系

Java8 Time類轉(zhuǎn)換圖.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異常處理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容