GMT和UTC有什么区别

GMT和UTC有什么区别?

GMT:格林威治时间

格林威治(也称:格林尼治)时间,也叫世界时(Universal Time),也叫世界标准时间。是指位于英国伦敦郊区的【皇家格林尼治天文台】的标准时间,是本初子午线上的地方时,是**0时区**的区时。

GMT是北京是东八区(UTC +8:00)。什么意思呢?当格林威治0:00的时候,北京时间是8:00整。因为我们比格林威治晚了8个时区,所以时间上会晚8个小时。
北京时间=格林威治时间+8(时区差) 本地时间=格林威治时间+时区差

凭什么格林威治作为标准时间?

你可能会问,大家都有腰间盘,为何格林威治的那么突出呢?

大背景是这样子的:19世纪开始,世界各国来往开始频繁,而欧洲大陆、美洲大陆和亚洲大陆都有各自的时区,为提高沟通效率避免混乱,各国的代表1884年在美国华盛顿召开了国际大会,选出英国伦敦的格林威治作为全球时间的中心点,并由它负责维护和计算,从1924年开始,格林威治天文台每小时就会向全世界播报时间(截止到1979年)。

在美国华盛顿开会,确定英国伦敦作为时间中心点,还蛮滑稽O(∩_∩)O哈哈~

其实选择英国格林威治最主要原因是:当时大部分的船只都已经以格林威治子午线做为参考标准,毕竟曾经的英国可是日不落帝国,大航海时代末便开始称霸世界,拳头里面出政权。

格林威治天文台在计时领域的权威是非常大的,譬如离我们最近的一次"时间风波":在即将跨世纪的时候,世界各国对21世纪到底应该从2000年开始还是从2001年开始争论不休,最终还是格林威治天文台出面平息了争论,开新闻发布会宣布21世纪始于2001年

GMT和Http协议的渊源

Http 1.1协议对日期时间传输格式是有严格规定的,支持如下三种格式:

yaml 复制代码
Sun, 06 Nov 1994 08:49:37 GMT   : RFC 822, updated by RFC 1123
Sunday, 06-Nov-94 08: 49:37 GMT : RFC 850, obsoleted by RFC 1036
Sun Nov 6 08:49:37 1994         : ANSI C's asctime 〉比企电乌托邦

其中第一种格式是互联网传输的标准格式,也是现行的标准。2、3种纯是为了兼容Http 1.0而设计,现在基本已经淘汰没人再会使用,所以事实上的格式只有第一种这1种,作为一个有经验的程序员对这种格式应该不陌生。

[!IMPORTANT]

另外,还有个关键的知识点:所有HTTP日期/时间戳都必须用格林威治标准时间(GMT)表示,没有例外。对于HTTP来说,GMT完全等于UTC(协调世界时)。

当然喽,这一切都是由浏览器自动帮你完成的,毕竟Http协议是浏览器去搞的不是

UTC:世界标准时间

Coordinated Universal Time直译为:世界协调时间。它是以原子时 作为计量单位的时间,计算结果极其严谨和精密。它比GMT时间更来得精准,误差值必须保持在0.9秒以内,倘若大于0.9秒就会通过闰秒来"解决"。

大事记:1979年12月初内瓦举行的世界无线电行政大会通过决议,确定用"世界协调时间(UTC时间)"取代"格林威治时间(GMT时间)",作为无线电通信领域内的国际标准时间。

UTC与GMT的区别

UTC和GMT都称作世界标准时间,为毛有了GMT还搞出个UTC,到底有何区别,下面做出简述。

GMT理解为0时区的标准时间即可

UTC是一个标准,所有的时间都以它为基准。可以说UTC就是等于GMT的

UTC与偏移量

在日常生活中,我们所使用的时间肯定是本地时间。在只有GMT的时候,本地时间是通过时区计算出来的,而现在UTC才是标准参考,因此采用UTC和偏移量(Offset)的方式来表示本地时间:

这个偏移量可表示为:UTC -UTC +,后面接小时数,分钟数。如:UTC +9:30表示澳大利亚中央标准时间,UTC +8表示中国标准时间。偏移量常见的表示形式有:±[hh]:[mm]±[hh][mm]±[hh]这三种方式均可。

举个例子:现在UTC时间是10:30z(z表示偏移量=0),那么北京时间现在若是16:30 +0800(下午4点半),对应的纽约时间就是05:30 -0500(早上5点半)。

CST这个缩写比较尴尬的是它可以同时代表四个不同的时间:

  • CST (China Standard Time) :中国标准时间 UTC+8:00
  • Central Standard Time (USA) UTC-6:00
  • Central Standard Time (Australia) UTC+9:30
  • Cuba Standard Time UTC-4:00
相关推荐
林太白2 小时前
❤Node09-用户信息token认证
数据库·后端·mysql·node.js
骆晨学长2 小时前
基于Springboot的助学金管理系统设计与实现
java·spring boot·后端
蒙娜丽宁3 小时前
深入理解Go语言中的接口定义与使用
开发语言·后端·golang·go
AskHarries3 小时前
java使用ByteBuffer进行多文件合并和拆分
java·后端
不染_是非3 小时前
Django学习实战篇六(适合略有基础的新手小白学习)(从0开发项目)
后端·python·学习·django
代码对我眨眼睛4 小时前
springboot从分层到解耦
spring boot·后端
The Straggling Crow4 小时前
go 战略
开发语言·后端·golang
ai安歌4 小时前
【JavaWeb】利用IDEA2024+tomcat10配置web6.0版本搭建JavaWeb开发项目
java·开发语言·后端·tomcat·web·intellij idea
尘浮生4 小时前
Java项目实战II基于Java+Spring Boot+MySQL的作业管理系统设计与实现(源码+数据库+文档)
java·开发语言·数据库·spring boot·后端·mysql·spring
程序员阿鹏5 小时前
ArrayList 与 LinkedList 的区别?
java·开发语言·后端·eclipse·intellij-idea