如果你写过程序,就知道时间的转化是编程中很让人头疼的东西,这一篇博客进行总结。
常见时间分类
UTC
时间标准时间2015-03-25T12:00:00
看到日期和时间中间有一个字母T
表示为UTC
时间 是现在使用的标准时间,换成北京时间,通常需要加8
小时。- UTC + 时区差 = 本地时间
- 时区差0时区向东为正,0时区向西为负
ISO-8601
- 具体日期的时间表示法,在
UTC
时间后加Z
,如2015-03-25T12:00:00Z
,Z
表示是通用标准,其它的时区的时间和UTC
不同,所以用实际时间加时差表示。
- 具体日期的时间表示法,在
GMT
格林尼治时间 「好想和UTC
一样」- 世界时
UT
即格林尼治时间,格林尼治所在地的标准时间。
- 世界时
GST
北京时间时间戳
- 指的就是
Unix时间戳
(Unix timestamp
)。它也被称为Unix时间
(Unix time
)、POSIX时间
(POSIX time
),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒
起至现在的总秒数。 - 时间戳不会跟着时区改变而改变
10位Unix时间戳
精确到秒
,13位Unix时间戳
精确到毫秒
- 指的就是
UTC
和 ISO-8601
的区别
ISO-8601
是一个时间标准,如果里面有 T
说明,里面的时间符合 UTC
的时间标准,如果里面有 Z
说明其符合通用标准,所谓的标准即是定义,如
ISO 8601
使用24小时制
。- 日期时间表示只能有数字或少数特殊字符组成(如“ - ”,“:”,“T”,“W”和“Z”),不允许出现地方写法,如“1月”或“星期四”等。
- 等等
时间戳位数
1秒=1000毫秒
1秒=1000000微秒(1毫秒=1000微秒)
1秒=1000000000纳秒(1微秒=1000纳秒) ( 1毫秒=1000000纳秒)
秒 :10位
毫秒:13位
微妙:16位
纳秒:19位