日期時間 <--> 時間戳
java.time 包提供的新的日期和時間API
LocalDateTime: 本地日期時間類
ZoneId: 時區類
ZonedDateTime: 帶時區的日期時間類
Instant: 高精度時間戳
long: 長整型
LocalDateTime + ZoneId = ZonedDateTime
import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; public class Main { public static void main(String[] args) { // 直接獲取 ZonedDateTime 對象 ZonedDateTime zdt1 = ZonedDateTime.now(); System.out.println(zdt1); // LocalDateTime + ZoneId = ZonedDateTime LocalDateTime ldt = LocalDateTime.now(); ZonedDateTime zdt2 = ldt.atZone(ZoneId.systemDefault()); System.out.println(zdt2); } } 運行結果: 2019-10-29T14:01:16.169741500+08:00[Asia/Shanghai] 2019-10-29T14:01:16.170744+08:00[Asia/Shanghai]
ZonedDateTime --> LocalDateTime
import java.time.LocalDateTime; import java.time.ZonedDateTime; public class Main { public static void main(String[] args) { // 直接獲取 ZonedDateTime 對象 ZonedDateTime zdt = ZonedDateTime.now(); System.out.println(zdt); //轉換為LocalDateTime時,直接丟棄了時區信息 LocalDateTime ldt = zdt.toLocalDateTime(); System.out.println(ldt); } } 運行結果: 2019-10-29T14:00:13.876198+08:00[Asia/Shanghai] 2019-10-29T14:00:13.876198
ZonedDateTime --> Instant --> long
import java.time.Instant; import java.time.ZonedDateTime; public class Main { public static void main(String[] args) { // 直接獲取 ZonedDateTime 對象 ZonedDateTime zdt = ZonedDateTime.now(); System.out.println(zdt); // to Instants Instant ins = zdt.toInstant(); System.out.println(ins); // to long System.out.println(ins.toEpochMilli()); } } 運行結果: 2019-10-29T14:11:00.265786900+08:00[Asia/Shanghai] 2019-10-29T06:11:00.265786900Z 1572329460265
long --> Instant --> ZonedDateTime
import java.time.Instant; import java.time.ZoneId; import java.time.ZonedDateTime; public class Main { public static void main(String[] args) { // 獲取 unix 毫秒值 long insMilli = Instant.now().toEpochMilli(); System.out.println(insMilli); // to Instant Instant ins = Instant.ofEpochMilli(insMilli); // to ZonedDateTime ZonedDateTime zdt = ZonedDateTime.ofInstant(ins, ZoneId.systemDefault()); System.out.println(zdt); } } 運行結果: 1572330350986 2019-10-29T14:25:50.986+08:00[Asia/Shanghai]
ending ~