【写在最前】

我们平时会接触各种计算机时间的概念,最常见的有GMT,UTC,CST等。

很多小白傻傻分不清楚他们之间的区别与联系,通过本文知识,让我们花5分钟时间彻底搞懂他,相信聪明的你,看完一定会有收获!

# GMT

即:格林尼治时间(另有格林威治时间一说)

以本初子午线为基础,精确度相对低。

注意事项:

因为地球每天的自转是不规则的(正在缓慢减速)所以,格林尼治时间的精确度会越来越低。

# UTC

即:世界协调时(Universal Time Coordinated的缩写)

以原子时钟长为基础,比GMT格林威治时更加科学更加精确。

UTC是国际无线电咨询委员会制定和推荐的,若与GMT时差大于0.9秒,则由位于巴黎的国际地球自转事务中央局发布闰秒,使UTC与地球自转周期一致。

UTC时间格式为:YYYY-MM-DDThh:mm:ssZ。例如,2014-11-11T12:00:00Z(为北京时间2014年11月11日20点0分0秒)

中国大陆、中国香港、中国澳门、中国台湾、蒙古国、新加坡、马来西亚、菲律宾、西澳大利亚州的时间与UTC的时差均为+8,也就是UTC+8。

注意事项:

1)目前UTC与GMT 相差为0.9秒,故二者可以基本视为一致。

我们一般认为GMT和UTC是一样的,都与英国伦敦的本地时相同。

2)早期的XP系统中,默认时间格式是GMT。而到了Win7之后,默认时间格式已经改成了UTC

3)阿里云API接口编程中,全部都是UTC

# UNIX时间戳(timestamp)

计算机中的UNIX时间戳,是以GMT/UTC时间「1970-01-01T00:00:00」为起点,到当前具体时间的秒数(不考虑闰秒)。这样做的目的,主要是通过“整数计算”来简化计算机对时间操作的复杂度。

无论何种编程语言,基本都有获取unix时间戳的系统方法。

注意事项:

如果开发的软件系统仅仅在国内用,用timestamp没有太大问题(因为大家的linux服务器的时区是一样的)

如果软件系统需要跨国服务,则必须用UTC(比如阿里云API),否则就会因为服务器的UTC时区不同,导致timestamp结果值混乱

# CST

这个代号缩写,并不是一个统一标准,目前,可以同时代表如下 4 个不同版本的时区概念(要根据上下文语义加以区分):

1)China Standard Time 中国标准时区 (UTC+8)

2)Cuba Standard Time 古巴标准时区 (UTC-4)

3)Central Standard Time (USA) 美国中央时区 (UTC-6)

4)Central Standard Time (Australia) 澳大利亚中央时区(UTC+9)

【全文完】

/*--------------------------- 华丽的分割线 ---------------------------*/

十年技术沉淀,只做原创文章。

及时关注作者,成就大牛之路!

举报/反馈

ChatGPT的深度问答

154获赞 99粉丝
只提有深度的问题,专注最智能的科技。
关注
0
0
收藏
分享