UTC与本地时间转换
val date = Date()
val ins:Instant = date.toInstant()
println("data: $date, instant: $ins")
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
val s: String = simpleDateFormat.format(date)
println("data format = $s")
//output
data: Wed Mar 22 15:18:05 CST 2023
data format = 2023-03-22 15:21:40
instant: 2023-03-22T07:18:05.932Z
UTC(协调世界时)
在 Instant 上调用 toString 产生如下输出:“2023-03-22T07:18:05.932Z” 。
这种格式遵循用于表示日期和时间的 ISO-8601 标准。
其中Z 其实就是偏移量为 0,表示这个时间是UTC(协调世界时)时间,也就是格林威治标准时间。
本地时间
北京时间 东八区 比UTC时间快8个小时。
Data类的打印结果如下:“Wed Mar 22 15:18:05 CST 2023”,其中CST 表示的是时区,中国标准时间(China Standard Time),这个时区取决于计算机的设置。
本地时间的显示可以用多种格式输出。
时区
时区图自行理解
参考
彻底弄懂GMT、UTC、时区和夏令时
java各个时间类总结归纳Date、Instant和LocalDateTime
瞬时类 / Instant