在某群看到有人提了一个时间戳与时区时间转换的问题,当时就看出他的计算方式有问题,但是对相关概念有些模糊,今天想起来就整理了一下这个问题。
加减时间戳
1 | Instant instantPlusEightHours = Instant.now().plus(8, ChronoUnit.HOURS); |
可以看出他想将时间戳转换为对应UTC+8时区的时间,但这里他犯了一个概念性的错误。
Unix时间戳是从
UTC时间 1970年1月1日 00:00
开始所经过的秒数,不考虑闰秒。
协调世界时(英语:Coordinated Universal Time,法语:Temps Universel Coordonné,简称UTC)是最主要的世界时间标准,其以原子时秒长为基础,在时刻上尽量接近于格林尼治标准时间。
协调世界时是世界上调节时钟和时间的主要时间标准。