UTC和GMT时间

来源:https://www.cnblogs.com/qiuyi21/archive/2008/03/04/1089456.html

UTC和GMT时间

每个地区都有自己的本地时间,在网上以及无线电通信中时间转换的问题就显得格外突出。我自己就经常混淆于此,特地研究了一下,记录在此以备忘。

整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地时相同。在本文中,UTC与GMT含义完全相同。

北京时区是东八区,领先UTC八个小时,在电子邮件信头的Date域记为+0800。如果在电子邮件的信头中有这么一行:

Date: Fri, 08 Nov 2002 09:42:22 +0800

说明信件的发送地的地方时间是二○○二年十一月八号,星期五,早上九点四十二分(二十二秒),这个地方的本地时领先UTC八个小时(+0800, 就是东八区时间)。电子邮件信头的Date域使用二十四小时的时钟,而不使用AM和PM来标记上下午。

以这个电子邮件的发送时间为例,如果要把这个时间转化为UTC,可以使用一下公式:

UTC + 时区差 = 本地时间

时区差东为正,西为负。在此,把东八区时区差记为 +0800,

UTC + (+0800) = 本地(北京)时间 (1)

那么,UTC = 本地时间(北京时间))- 0800 (2)

0942 - 0800 = 0142

即UTC是当天凌晨一点四十二分二十二秒。如果结果是负数就意味着是UTC前一天,把这个负数加上2400就是UTC在前一天的时间。例如,本地 (北京)时间是 0432 (凌晨四点三十二分),那么,UTC就是 0432 - 0800 = -0368,负号意味着是前一天, -0368 + 2400 = 2032,既前一天的晚上八点三十二分。

纽约的时区是西五区,比UTC落后五个小时,记为 -0500:

UTC + (-0500) = 纽约时间 (3)

UTC = 纽约时间 + 0500 (4)

把(2)式 - (4)式相比较,

UTC = 北京时间 - 0800 = 纽约时间 + 0500 (5)

即 北京时间 = 纽约时间 + 1300 (6)

即北京时间领先纽约时间十三个小时,由(6)式,

纽约时间 = 北京时间 - 1300 (7)

在四月下旬,纽约又换用夏令时,又称为日光节约时,比标准纽约时间提前一个小时,实际成为西四区的标准时间,成为 -0400。

UTC + (-0400) = 纽约夏令时,套用以上公式,

北京时间 = 纽约夏令时 + 1200

纽约夏令时 = 北京时间 - 1200

在这些转换中,最重要的公式就是

UTC + 时区差 = 本地时间

时区差东为正,西为负。例如,东八区(北京)是 +0800,西五区(纽约)是-0500,加州是西八区,是-0800,美国中部时区是西六区,-0600,美国山地时区是西七区,-0700,太平洋时 区是西八区,-0800,在夏天使用夏时制,成为-0700。德国时区是东一区,+0100,夏天变为+0200。

多数电子邮件程序,例如Outlook Express,在显示时间时,计算机程序把时间先转换成为本地时间再显示,例如,邮件的Date域为:

Date: Fri, 08 Nov 2002 09:42:22 +0800

Outlook Express在显示时就显示为:

Date: Thur, 07 Nov 2002 08:42:22 pm,把北京时间转换成为了纽约时间,而且把二十四小时格式的时间转换成为了十二小时的格式。当然,为了时间转换正确,发送方和接受方的计算机的时区都要 设置正确,在这里,发送方的时区要正确地设为北京时区东八区,而我的时区要设为西五区。

原文地址:https://www.cnblogs.com/woodyliang/p/11477327.html

时间: 2024-10-29 19:05:40

UTC和GMT时间的相关文章

atitit.GMT UTC Catitit.GMT UTC CST DST CET 星期 月份 节日 时间的不同本质and起源

atitit.GMT UTC Catitit.GMT UTC CST DST CET 星期 月份 节日 时间的不同本质and起源 1. GMT(Greenwich Mean Time)是格林尼治平时 2 2. UTC是协调世界时(Universal Time Coordinated)英文缩写,gmt tsabdd 2 3. 而CST却同时可以代表如下 4 个不同的时区: 2 4. DST所谓「夏日节约时间」Daylight Saving Time(简称D.S.T.) 2 5. CET欧洲中部时间

UTC时间、GMT时间、本地时间、Unix时间戳

引用: https://blog.csdn.net/u012102306/article/details/51538574 https://blog.csdn.net/foxir/article/details/43916601 GMT和UTC GMT,即格林尼治标准时间,也就是世界时.GMT的正午是指当太阳横穿格林尼治子午线(本初子午线)时的时间.但由于地球自转不均匀不规则,导致GMT不精确,现在已经不再作为世界标准时间使用. UTC,即协调世界时.UTC是以原子时秒长为基础,在时刻上尽量接近

【Javascript-基础-Date】本地时间与UTC(GMT)时间转换

UTC(GMT) 整个地球分为二十四时区,每个时区都有自己的本地时间.在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated).UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地时相同. 本地时间 北京时区是东八区,领先UTC八个小时,在电子邮件信头的Date域记为+0800. 时间转化为UTC,可以使用一下公式: UTC + 时区差 = 本地时间 ** 注意 **:

[转帖]UTC时间、GMT时间、本地时间、Unix时间戳

https://www.cnblogs.com/xwdreamer/p/8761825.html 引用: https://blog.csdn.net/u012102306/article/details/51538574 https://blog.csdn.net/foxir/article/details/43916601 GMT和UTC GMT,即格林尼治标准时间,也就是世界时.GMT的正午是指当太阳横穿格林尼治子午线(本初子午线)时的时间.但由于地球自转不均匀不规则,导致GMT不精确,现在

UTC、GTC时间和本地时间

1.问题 对于装有Windows和Linux系统的机器,进入Windows显示的时间和Linux不一致,Linux中的时间比Windows提前8个小时. 2.解决方法 修改/etc/default/rcS,设置不使用UTC时间,设置如下:UTC=no 3.解释 这个是一个关于时间的问题,我们就先来了解一下关于时间的概念 UTC(Universal Time Coordinated):协调世界时GMT(Greenwich Mean Time):格林威治时间本地时间(local time):全球二十

转自文翼的博客:将本地时间转换为 GMT 时间

在写 RSS 订阅接口的时候,发现最终输出文章的 RSS 时间(GMT时间),在本地上显示的时间和在服务器上显示的时间不一致. 原因是时区不一致,那么在 JavaScript 中,如何将时间转换为统一的时间呢? 1. 查看本地和服务器的时区 通过 date 命令,可以知道: 本地的时区是:GMT+0800 (CST) 服务器的时区是:GMT+0400 (MSK) 首先,需要明确的一点是,文章上的时间是基于本地时间的,也就是说是 GMT+0800 (CST). 2. 代码调试 便于理解,我们来举个

java GMT时间转换为CST时间

今天在获取windchill的"上次修改时间"的时候发现获取的是GMT时间,但是我们常用的是CST时间 一开始尝试直接设置为CST时区,TimeZone.getTimeZone("CST"),发现时间比GMT还少了8个小时 北京时间是东8区,后来改成GMT+8或GMT+8:00才获取到CST时间 package test; import java.text.SimpleDateFormat; import java.util.Date; import java.ut

C#时间格式之GMT时间的格式

GMT:格林尼标准时间 北京时间=GMT时间+8小时 DataTime nowDate = DataTime.Now; nowDate.toString("r");    效果为:  Wed, 22 Jul 2009 16:24:33 GMT 參数解释: d ShortDatePattern D LongDatePattern f 完整日期和时间(长日期和短时间) F FullDateTimePattern(长日期和长时间) g 常规(短日期和短时间) G 常规(短日期和长时间) m.

Vertica变化Local时间到GMT时间

在Vertica的数据库的使用过程中碰到这么一种场景.程序从不同一时候区的集群中收集数据写入同一张表,然后我们须要把这些数据依照GMT时间来显示. 此时我们能够通过Vertica提供TIME ZONE转换功能来达到这个效果. 首先看一下Vertica默认的TimeZone SHOW TIMEZONE; 这里假定Vertica的默认TimeZone是"Asia/Shanghai" SET TIMEZONE TO 'Asia/Shanghai'; 假定有一张表,TS列存储时间戳,TZ列存储