• 12月24日 星期二

5分钟搞懂计算机的各种时间(GMT、UTC、CST)

5分钟搞懂计算机的各种时间(GMT、UTC、CST)


【写在最前】

我们平时会接触各种计算机时间的概念,最常见的有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)


【全文完】

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

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

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

上一篇新闻

「龙腾网」清理了3800吨垃圾的22岁印度少年

下一篇新闻

小米研发团队从400人增至3700人;iOS 13.3“杀后台”问题缓解;FreeBSD 12.1发布|极客头条

评论

订阅每日新闻

订阅每日新闻以免错过最新最热门的新加坡新闻。