`
Luob.
  • 浏览: 1589871 次
  • 来自: 上海
社区版块
存档分类
最新评论

UTC时间, GMT时间 ,夏令时

    博客分类:
  • Java
 
阅读更多
经常混淆于此,特地研究了一下,记录在此以备忘。 
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(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
分享到:
评论

相关推荐

    UTC时间转换算法

    当从UTC时间转换为RTC时间时,我们需要考虑用户所在的时区和夏令时(DST, Daylight Saving Time)。UTC不包含时区信息,因此转换过程中需要结合地理位置和当前日期来确定适当的时区偏移。例如,如果用户位于东八区...

    UTC时间转换源码

    这个偏移量可以是固定的,如北京比UTC快8小时,也可以根据夏令时变化。 3. **应用时区偏移**:将UTC时间加上或减去相应的时区偏移,得到本地时间。如果要考虑夏令时,还需要查询目标时区的夏令时规则。 4. **返回...

    UTC时间戳与北京时间转换C源码

    在计算机编程领域,时间戳是表示时间的一种方式,通常以自1970年1月1日(UTC/GMT的午夜)开始所经过的秒数来计算。UTC(协调世界时)是一种国际标准的时间标准,而北京时间是东八区的区时,比UTC快8小时。在C语言中...

    UTC时间与北京时间差多久

    UTC与格林尼治平均时间(GMT)在实质上是相同的,都参考英国伦敦的本地时间,不过UTC更加精确,因为会定期添加闰秒来补偿地球自转速度的变化。 【北京时间】指的是中国所在的东八区的本地时间,比UTC时间快8小时。...

    TimeConvert_儒略日_儒略日utc_timeconvert_时间转换_GPST与UTC_

    3. 如果需要,将UTC转换为本地时间,这可能涉及到时区和夏令时的考虑。 “TimeConvert”可能是一个工具或算法,用于执行上述转换。这个工具或算法可能接受GPST时间值,然后返回相应的UTC或儒略日表示。同时,它也...

    utc时间和当前时间的转换工具

    与此相反,当前时间通常指的是本地时间,它会考虑到地理位置和夏令时等因素。在C++编程中,进行UTC时间和当前时间的转换是一项常见任务,这通常涉及到`<ctime>`库中的函数。 在标题和描述中提到的"utc时间和当前...

    UTC时间与北京时间的关系

    它与格林尼治平均时(GMT)基本一致,都是以英国伦敦附近的格林尼治天文台的标准时间作为参考。由于地球自转,全球划分为24个时区,每个时区都有自己的本地时间。为了便于全球交流和同步,UTC起到了一个统一的时间...

    llinux 夏令时与各种时间

    夏令时(Daylight Saving Time, DST)是一个特殊的时间调整,某些地区在夏季会提前一个小时以利用更多日照时间。在`struct tm`中,`tm_isdst`字段用于标记是否处于夏令时期间。如果不确定当前时间是否为夏令时,该...

    winform UTC和本地时间的转换

    7. **DaylightSavingTime**: 如果你需要考虑夏令时,TimeZoneInfo类提供了IsDaylightSavingTime()方法来判断给定的UTC或本地时间是否在夏令时期间。 在Winform应用中,这些方法和类通常会被用到UI控件(如...

    由夏令时间所引起的时间差的解决方法

    - 对于跨夏令时的日期时间操作,应确保使用支持夏令时的时区ID,避免使用如`Etc/GMT`这类不支持夏令时转换的时区标识。 #### 示例代码 以下是一个简单的Java示例,用于演示如何设置并获取当前时间: ```java ...

    GMT时间转成本地时间

    本地时间是指根据用户所在地的时区和夏令时规则调整后的时间。由于地球自转导致的时区差异,同一个GMT时间在不同的地理区域会表现为不同的本地时间。 ### 二、C#中的时间转换:从GMT到本地 #### 2.1 C# DateTime类...

    java转换时区时间过程详解

    在本文中,我们将详细介绍时区的概念、UTC时间、格林尼治时间、夏令时、区时转换等知识点,并提供Java代码示例来实现时区时间转换。 一、时区概念 时区是指一个地区或国家的标准时间,可以是正时区也可以是负时区...

    时区:Arduino库可促进时区转换和自动夏令时(夏令时)调整

    例如,你可以创建一个表示美国东部标准时间(EST)并考虑夏令时的`TimeZone`对象,然后将其与世界协调时间(UTC)进行转换。 使用这些库进行时区转换的步骤大致如下: a. 首先,你需要定义夏令时规则。这通常包括...

    C/C++标准库之转换UTC时间到local本地时间详解

    UTC通常以"Zulu"时间表示,即格林尼治标准时间(GMT),不考虑夏令时。而本地时间则是根据用户所在时区调整过的UTC时间,可能比UTC快或慢几个小时。例如,美国东部时间比UTC慢5小时,而中国北京则快8小时。 在C/C++...

    基于java时区转换夏令时的问题及解决方法

    "基于Java时区转换夏令时的问题及解决方法" 在Java中进行时区转换时,需要了解夏令时的概念和时区的表示方法。夏令时是指在夏天的时候,将时钟拨快一个小时,以提早日光的使用。目前有110多个国家采用夏令时。 ...

    日历时间转换为格林威治时间,格林威治时间转换为日历时间

    UTC是国际时间标准,它基于原子时,并与格林威治平均时间(GMT)保持一致,不过考虑到闰秒的存在,UTC有时会与GMT有微小差异。 转换日历时间到UTC的第一步是将日历时间拆分为年、月、日、小时、分钟和秒。然后,...

    Java获取UTC时间的方法详解

    在这个示例中,`getUTCTimeStr()`方法首先获取本地时间,然后计算出时区和夏令时的偏移量,并从本地时间中减去这些值,最后将UTC时间转换为字符串返回。 请注意,Java 8 引入了`java.time`包,其中的`ZonedDateTime...

    格林威治时间转换为北京时间

    考虑到用户友好性,可能还需要处理夏令时等特殊情况。 7. **错误处理**:在编程实践中,需要考虑各种异常情况,比如无效的时间输入、闰年和非闰年的区别等。 8. **测试与调试**:对转换程序进行充分的测试,确保在...

    Unix时间编程

    夏令时的实施时间和调整取决于各国的具体政策,可能会导致时区的变化。 8. Unix时间编程函数: Unix提供了多个用于时间处理的函数,例如: - time():返回当前时间的时间戳。 - localtime():将UTC时间转换为本地...

    根据本地时间和经纬度来计算真太阳时

    1. **确定格林尼治标准时间(GMT)**:将本地时间转换为UTC,考虑到时区和夏令时的影响。 2. **计算地方时差**:基于经度,每度经度对应4分钟的时间差。例如,如果本地经度比格林尼治经度靠东,那么时间会早;反之,...

Global site tag (gtag.js) - Google Analytics