Java 8 之 Time

Java 8 出來好久了,但是好多人還不太會(huì)用它的新特性,那我們今天來講一講Java 8的Time

為什么要使用Java 8 Time呢?

Java之前的Date類太老了,日歷類又不方便,很多人在項(xiàng)目中總喜歡在util包下建一個(gè)DateUtil,里面放一些辟如比較2個(gè)時(shí)間的前后啊,獲取下一個(gè)月的第一天時(shí)間等等的方法,有些公司的中間件團(tuán)隊(duì)也會(huì)整理一下大而全的DateUtil供整個(gè)公司使用,但是有了Java 8 的Time后,我們就可以對DateUtil說拜拜了

話說JodaTime是Java 8 Time的前身

Java 8的時(shí)間類主要在java.time包下面,主要會(huì)使用到的類有

  • LocalDateTime
  • LocalDate
  • LocalTime
  • ZonedDateTime

LocalDate代表的是本地日期,例如2019-11-11

LocalTime代表的是本地的時(shí)間,例如11:11:11

LocalDateTime = LocalDate + LocalTime,例如2019-11-11T11:11:11(默認(rèn)的時(shí)間格式就是ISO-8601) 其實(shí)源碼里LocalDateTime類里就是保持了這2個(gè)對象

這四個(gè)類里,Local打頭的都是不帶時(shí)區(qū)的,只有ZonedDateTime帶時(shí)區(qū)的

ZonedDateTime zonedDateTime = LocalDateTime.now().atZone(ZoneId.systemDefault());
zonedDateTime.toLocalDate();
zonedDateTime.toLocalDateTime();
zonedDateTime.toLocalTime();

我們可以通過LocalDateTime + 一個(gè)時(shí)區(qū)轉(zhuǎn)換到ZonedDateTime,如上面第一行所示

也可以通過ZonedDateTime直接轉(zhuǎn)換到LocalDateTime

未完待續(xù)?。。?/p>

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

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

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