Java8 Instant 时间戳
生活随笔
收集整理的這篇文章主要介紹了
Java8 Instant 时间戳
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在java.util.Date類與LocalDate、LocalDateTime類之間轉換中 均可以通過Instant作為中間類完成轉換,Instant的使用還是比較方便的,下面介紹Instant的使用。
一、創建Instant實例
Instant now = Instant.now(); System.out.println("now:"+now);控制臺輸出:
now:2018-07-09T08:59:08.853Z注意:通過這種方式獲取的時間戳與北京時間相差8個時區,需要修正為北京時間,通過查看源代碼發現Instant.now()使用等是UTC時間Clock.systemUTC().instant()。LocalDate、LocalDateTime 的now()方法使用的是系統默認時區 不存在Instant.now()的時間問題。
###解決方法
增加8個小時
控制臺輸出:
now:2018-07-09T16:58:48.188Z二、Instant獲取long類型的10位秒數、13位毫秒數
Instant now = Instant.now().plusMillis(TimeUnit.HOURS.toMillis(8)); System.out.println("秒數:"+now.getEpochSecond()); System.out.println("毫秒數:"+now.toEpochMilli());控制臺輸出:
秒數:1539170157 毫秒數:1539170157886LocalDateTime輸出毫秒數的方式,比Instant多一步轉換
LocalDateTime localDateTime = LocalDateTime.now(); //LocalDateTime轉Instant Instant localDateTime2Instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant(); System.out.println("LocalDateTime 毫秒數:"+localDateTime2Instant.toEpochMilli());控制臺輸出:
LocalDateTime 毫秒數:1539141733010總結
以上是生活随笔為你收集整理的Java8 Instant 时间戳的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 系统没有安装任何软件如何查看电脑开机启动
- 下一篇: Java中的其他常用类(Math类,Sc