每个地区都有自己的本地时间,在网上以及无线电通信中时间转换的问题就显得格外突出。我自己就经常混淆于此,特地研究了一下,记录在此以备忘。
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(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,把北京时间转换成为了纽约时间,而且把二十四小时格式的时间转换成为了十二小时的格式。当然,为了时间转换正确,发送方和接受方的计算机的时区都要 设置正确,在这里,发送方的时区要正确地设为北京时区东八区,而我的时区要设为西五区。
为了方便起见,我在这里放上纽约,加洲以及北京实时显示的时钟,以省去计算的麻烦。
分享到:
相关推荐
总结起来,UTC2GMT V1.0是针对UTC和GMT时间转换需求而设计的实用工具,尤其适用于需要处理跨时区时间信息的IT专业人士。理解UTC和GMT的差异及其在不同场景中的应用,将有助于我们在全球化的信息技术环境中更好地工作...
# 将GMT时间转换为UTC gmt_time = datetime.now(pytz.timezone('Etc/GMT')) utc_time = gmt_time.astimezone(pytz.utc) ``` 在JavaScript中,可以使用内置的`Date`对象结合时区信息进行转换: ```javascript // 将...
从RTC时间转换为UTC时间,首先需要读取RTC硬件时钟的值,这个值通常是以格林尼治标准时间(GMT)表示的。然后,同样需要考虑时区和夏令时的影响,减去相应的小时数。由于RTC时间通常包含时区信息,转换过程相对简单...
在计算机编程领域,时间戳是表示时间的一种方式,通常以自1970年1月1日(UTC/GMT的午夜)开始所经过的秒数来计算。UTC(协调世界时)是一种国际标准的时间标准,而北京时间是东八区的区时,比UTC快8小时。在C语言中...
UTC与格林尼治标准时间(GMT)非常接近,但UTC会通过闰秒来调整以保持与地球自转同步。 GPST,全称Global Positioning System Time,是GPS系统内部使用的时间系统。GPST以原子时为基础,与UTC同步,但不包含闰秒。...
UTC(协调世界时)是国际时间标准,与格林尼治标准时间(GMT)基本相同,但会根据地球自转的速度调整闰秒。因此,GPS时间与UTC时间在大多数情况下是一致的,但在闰秒发生时会有微小差别。 GPS UTC时间转换函数通常...
在标题和描述中提到的"utc时间和当前时间的转换工具",我们可以推断这是一个简单的C++程序,用于帮助开发者在UTC和本地时间之间进行转换。这个程序可能包含以下关键组件: 1. **time_t**: `time_t`是C++标准库中...
1. 时间和日期类的使用:在C#中,DateTime类用于表示日期和时间,TimeZoneInfo类则用于处理不同时区之间的转换。 2. UTC时间的处理:了解UTC时间的概念,以及如何在C#中进行UTC时间的计算和格式化。 3. 用户界面设计...
UTC(协调世界时)是一种国际标准的时间表示方式,它基于原子钟,并且与格林尼治标准时间(GMT)保持一致,不考虑闰秒。在编程中,理解和操作UTC时间是非常重要的技能。 本文将深入探讨UTC时间转换的相关知识点,...
为了准确地进行时间和地理位置的计算,理解它们之间的转换至关重要。这里我们将详细探讨GPS UTC时间与北京时间的转换方法,并分享相关的编程实现。 首先,我们需要了解两者的定义和区别。UTC是国际电信联盟(ITU)...
UTC与格林尼治平均时间(GMT)在实质上是相同的,都参考英国伦敦的本地时间,不过UTC更加精确,因为会定期添加闰秒来补偿地球自转速度的变化。 【北京时间】指的是中国所在的东八区的本地时间,比UTC时间快8小时。...
6. **DateTimeOffset**: 这是.NET框架中另一个处理时间的结构,它包含了日期、时间和一个表示偏移量的值,可以用来表示相对于UTC的时间。DateTimeOffset结构在处理带有时区信息的时间时非常有用。 7. **...
为了便于全球交流和同步,UTC起到了一个统一的时间标准作用。 北京位于东八区,意味着它的本地时间比UTC快8小时。例如,如果在北京发送一封电子邮件,Date域显示"09:45:28 +0800",这表明邮件是在当地时间为2010年6...
%GPS2UTC 将 GPS 时间标签转换为 UTC(GMT) 时间,考虑闰秒% GPS2UTC(date) 更正 GPS 日期数组(任何 matlab 格式) % 闰秒并返回一个 UTC 日期数组,其中: % UTC = GPS - 步进时间% 当前步骤时间是到 2009 年 1 月 ...
与我们日常生活中使用的本地时间(例如格林尼治标准时间GMT)不同,UTC可能会有闰秒的调整。 2. **易语言中的日期和时间处理**: 易语言提供了丰富的日期和时间操作函数,如`日期时间.获取当前时间`用于获取系统...
在计算机中,这种时间表示可能以结构体或者类的形式存在,例如Unix时间戳,它是一个整数,代表自1970年1月1日00:00:00(UTC/GMT的午夜)以来的秒数。 UTC时间,全称为“Coordinated Universal Time”,是由国际地球...
在IT领域,时间和坐标转换是地理信息系统(GIS)和卫星导航系统中不可或缺的部分。本项目主要涉及了两个关键知识点:GPS-UTC时间转换和坐标系转换,这些在C#编程环境下实现,并通过可视化界面提供了良好的用户体验。...
%UTC2GPS 将 UTC(GMT) 时间标签转换为 GPS 时间占闰秒% UTC2GPS(date) 校正 UTC 日期数组(任何 matlab 格式) % 闰秒并返回 GPS 日期数组,其中: % GPS = UTC + 步进时间% 当前步骤时间是到 2009 年 1 月 1 日,但...
在IT领域,尤其是在软件开发与数据处理中,时间的...通过以上内容,我们不仅了解了GMT时间与本地时间的基本概念,还掌握了在C#中实现时间转换的方法和技巧。这将有助于我们在实际项目中更有效地处理与时间相关的数据。
标题中的“24时区”、“GMT”和“UTC”都是与全球时间标准相关的概念,它们在信息技术领域,特别是网络通信、系统管理和日志记录中扮演着重要角色。现在,让我们详细了解一下这些概念。 首先,24时区,也称为世界...