点击上面“蓝字”关注我哦!
1.简介
在java.util.Date类与LocalDate、LocalDateTime类之间转换中 均可以通过Instant作为中间类完成转换,Instant的使用还是比较方便的,下面介绍Instant的使用。2.创建Instant实例:
控制台输出结果:
now:2020-10-03T08:59:08.853Z
注意
通过这种方式获取的时间戳与北京时间相差8个时区,需要修正为北京时间,通过查看源代码发现Instant.now()使用等是UTC时间。
Clock.systemUTC().instant()。
LocalDate、LocalDateTime 的now()
方法使用的是系统默认时区 不存在Instant.now()的时间问题。
解决方法,增加8个小时
控制台输出结果:
now:2020-10-03T16:58:48.188Z
3.Instant获取long类型的10位秒数、13位毫秒数
控制台输出结果:
秒数:1539170157
毫秒数:1539170157886
LocalDateTime输出毫秒数的方式,比Instant多一步转换:
控制台输出结果:
LocalDateTime 毫秒数:1539141733010
小结
Instant表示高精度时间戳,它可以和ZonedDateTime以及long互相转换。