每个地区都有自己的本地时间,在网上以及无线电通信中时间转换的问题就显得格外突出。我自己就经常混淆于此,特地研究了一下,记录在此以备忘。
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(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,把北京时间转换成为了纽约时间,而且把二十四小时格式的时间转换成为了十二小时的格式。当然,为了时间转换正确,发送方和接受方的计算机的时区都要 设置正确,在这里,发送方的时区要正确地设为北京时区东八区,而我的时区要设为西五区。
为了方便起见,我在这里放上纽约,加洲以及北京实时显示的时钟,以省去计算的麻烦。
分享到:
相关推荐
工作需要,做了这么一个小工具,UTC和GMT时间互转。 欢迎大伙使用,交流Alren@foxmail.com
工作需要,做了这个工具,UTC和GMT时间互转:输入需转换的时间后,按Enter键执行。 欢迎码农使用,交流!
%GPS2UTC 将 GPS 时间标签转换为 UTC(GMT) 时间,考虑闰秒% GPS2UTC(date) 更正 GPS 日期数组(任何 matlab 格式) % 闰秒并返回一个 UTC 日期数组,其中: % UTC = GPS - 步进时间% 当前步骤时间是到 2009 年 1 月 ...
通过一个函数可以将一个长整形的UTC时间转换为本地时间。
%UTC2GPS 将 UTC(GMT) 时间标签转换为 GPS 时间占闰秒% UTC2GPS(date) 校正 UTC 日期数组(任何 matlab 格式) % 闰秒并返回 GPS 日期数组,其中: % GPS = UTC + 步进时间% 当前步骤时间是到 2009 年 1 月 1 日,但...
matlab开发-gpstoutcgmttime转换。gps2utc将GPS时间标签转换为以闰秒为单位的UTC(GMT)时间
格林尼治标准时间(Greenwich Mean Time,GMT)是指位于伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。 理论上来说,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时的...
1.将程序内部时区设置为UTC时间.(UTC 也可以叫 GMT) PHP设置: date_default_timezone_set(“UTC”); Yii设置: config/main.php 中添加 :’timeZone’=>’UTC’, 如此设置后,PHP生成的时间基本都是UTC时间了.例如: //...
一个非常简单的扩展程序,在您的Chrome工具栏中添加了GMT / UTC时间按钮。 链接到开发者网站链接中的屏幕快照中使用的字体。 如果您希望它与屏幕截图中的一样,请下载并免费安装此字体。 --- v4.1 Changelog ---更新...
为了理解这些函数的工作方式,必须熟悉时区和格林尼治标准时间 (GMT),GMT 现在是世界时间坐标 (UTC Coordinated Universal Time) 的参考。 一天中的小时是以地球的自转为标准的,一天中的任何特定时刻依赖你所在的...
Laravel开发-laravel-gmt-timezones 帮助管理Laravel中的时区。包括时区的窗体生成器。从camronacade/timezone派生,使用的是GMT而不是UTC。
matlab开发-utctogpstimecoverter公司。将UTC(GMT)时间标签转换为占闰秒的GPS时间
2、ubuntu默认时间是把BIOS时间当成GMT+0时间,也就是世界标准时,而我国在东八区(GMT+8),所以如果你的Ubuntu位置是中国的话你系统显示的时间就是BIOS时间+8小时。假如现在是早上8点,那么你Ubuntu会显示8点,...
而mac将这个时钟作为Coordinated Universal Time (UTC) 世界标准时间看待,也就是Greenwich Mean Time (GMT) 格林威志时间。所以如果你在MacOSX和Windows都选北京时间作为本地时区是,一旦连到互联网上,同步过时间...
语言:English GMT(格林威治标准时间)-只需单击一下即可在浏览器上...格林威治标准时间(GMT)与世界标准时间(UTC)没有偏移。 在欧洲,非洲,北美,南极洲的标准时间使用该时区。 该时区通常称为格林威治标准时间。
为了理解这些函数的工作方式,必须熟悉时区和格林尼治标准时间 (GMT),GMT 现在是世界时间坐标 (UTC Coordinated Universal Time) 的参考。 一天中的小时是以地球的自转为标准的,一天中的任何特定时刻依赖你所在的...
我们可以认为格林威治时间就是时间协调时间(GMT=UTC) GMT : 格林威治时间 UTC : 时间协调时间 1、time_t time_t time(time_t *t); 取得从1970年1月1日至今的秒数。 time_t类型,这本质上是一个长整数( long )...
下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方法. 通过学习许多C/C++库,你可以有很多操作、使用时间的方法。但在这之前你需要了解一些“时间”和“日期”的概念,主要有以下几个: Coordinated ...
标准时间一般而言的标准时间是指GMT和UTC,以前是GMT,现在是UTC GMT 格林尼治标准时间(GMT)是指位于伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线 理论上来说,格林尼治标准时间...