- 不同的时间
- 时区
- 时间的表示方式
不同的时间
- GMT
- UTC
- CST
GMT(Greenwich Mean Time), 格林尼治时间, 是英国伦敦的皇家格林威治天文台的标准时间, 因为它刚好在本初子午线经过的地方.
UTC(Coordinated Universal Time), 协调世界时
GMT是根据地球自转, 公转计算的(太阳每天经过英国伦敦皇家格林威治天文台的时间为中午12 点),不是非常准确, UTC是经过平均太阳时(以格林威治时间GMT为准), 地轴运动修正后的新时标, 以及以秒为单位的国际原子时所综合精算而成的时间.
UTC比GMT来得更加精准, 一般都使用UTC时间, 而且在使用时, 两者一般被认为是相同的表示方式.
CST(China Standard Time), 中国标准时间, 即UTC+8, 东八区时间
时区
人们规定以子午线为中心,向东西两侧延伸,每 15 度划分一个时区,刚好是 24 个时区。 然后因为一天有 24 小时,地球自转一圈是 360 度,360 度 / 24 小时 = 15 度/小时, 所以每差一个时区,时间就差一个小时。
新纪元时间(epoch)的起点为穿过格林威治天文台的本初子午线所处时区(0时区)的1970.1.1 00:00:00.
人类时间:
- 本地时间, 基于本地时区的时间, 包括本地的日期和时间
- 时区时间, 包括日期, 时间以及时区
时间的表示方式
- 时间戳, 从新纪元时间(epoch)到现在的时间差, 一般用毫秒ms来度量
- ISO 8601, 格式
YYYY-MM-DDTHH:mm:ss.sssZ
- RFC822/RFC1123, 格式
Wed Mar 25 2015 09:56:24 GMT+0100
ISO 8601
T
表示UTC时区, 如果使用空格且没有设置时区
则为本地时区, 即系统设置的时区
Z
表示的是UTC时区
时区判断的优先级: Z(指定时区) -> T(UTC) -> 本地
- 如果Z指定了时区, 则时间为该时区的时间
- 如果有T, 则为UTC时区, 即GMT+0时区
- 如果都没有, 则为本地时区, 即系统设置的时区