格林尼治标准时间对照表(格林尼治标准时间)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了格林尼治标准时间对照表(格林尼治标准时间)相关的知识,希望对你有一定的参考价值。
参考技术A 您好,我就为大家解答关于格林尼治标准时间对照表,格林尼治标准时间相信很多小伙伴还不知道,现在让我们一起来看看吧!1、协调世界时,又...
您好,我就为大家解答关于格林尼治标准时间对照表,格林尼治标准时间相信很多小伙伴还不知道,现在让我们一起来看看吧!
1、协调世界时,又称世界标准时间或世界协调时间,简称UTC,从英文“Coordinated Universal Time”/法文“Temps Universel Cordonné”而来。
2、台湾采用CNS 7648的《资料元及交换格式–资讯交换–日期及时间的表示法》(与ISO 8601类似)称之为世界统一时间。
3、中国大陆采用ISO 8601-1988的国标《数据元和交换格式信息交换日期和时间表示法》(GB/T 7408)中称之为国际协调时间。
4、协调世界时是以原子时秒长为基础,在时刻上尽量接近于世界时的一种时间计量系统。
5、 国际原子时的误差为每日数纳秒,而世界时的误差为每日数毫秒。
6、对于这种情况,一种称为协调世界时的折衷时标于1972年面世。
7、为确保协调世界时与世界时相差不会超过0.9秒,在有需要的情况下会在协调世界时内加上正或负闰秒。
8、因此协调世界时与国际原子时之间会出现若干整数秒的差别。
9、位于巴黎的国际地球自转事务中央局负责决定何时加入闰秒。
10、 编辑本段用途 这套时间系统被应用于许多互联网和万维网的标准中,例如,网络时间协议就是协调世界时在互联网中使用的一种方式。
11、在军事中,协调世界时区会使用“Z”来表示。
12、而在航空上,所有使用的时间划一规定是协调世界时。
13、而且Z在无线电中应读作“Zulu”(可参见北约音标字母),协调世界时也会被称为“Zulu time”。
14、比如说飞机在香港时间下午六时正起飞,就会写成1000z,又或者读作“1000Zulu”。
15、 编辑本段UTC与GMT 理论上来说,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治上空最高点时)的时间。
16、由于地球在它的椭圆轨道里的运动速度不均匀,这个时刻可能和实际的太阳时相差16分钟。
17、地球每天的自转是有些不规则的,而且正在缓慢减速。
18、所以,格林尼治时间已经不再被作为标准时间使用。
19、现在的标准时间──协调世界时(UTC)──由原子钟提供。
20、 编辑本段备注 UTC( Coordinated Universal Time)是基于TAI(International Atomic Time)与GMT在时间上是一样的,只是计算方法上,UTC更加标准,而GMT加入了闰秒的计算,以调整误差。
21、编辑本段疑问 UTC词汇的拼写很多人疑问,为何英文是Coordinated Universal Time,而写法则是UTC,而不是CUT。
22、这是由于UTC制定单位International Telecommunication Union(ITU)为了避免英法等国家之间的缩写争议而定下来的,这样就避免使用英文Coordinated Universal Time或者法文的Temps Universel Coordonné(TUC)导致的国家偏重。
NSDate - iPhone 上的格林威治标准时间
【中文标题】NSDate - iPhone 上的格林威治标准时间【英文标题】:NSDate - GMT on iPhone 【发布时间】:2011-02-04 14:48:40 【问题描述】:我在生产应用程序中有以下代码,它根据用户输入的日期计算 GMT 日期:
NSDate *localDate = pickedDate;
NSTimeInterval timeZoneOffset = [[NSTimeZone defaultTimeZone] secondsFromGMT]; // You could also use the systemTimeZone method
NSTimeInterval gmtTimeInterval = [localDate timeIntervalSinceReferenceDate] - timeZoneOffset;
NSDate *gmtDate = [NSDate dateWithTimeIntervalSinceReferenceDate:gmtTimeInterval];
代码运行良好,直到上周可怕的夏令时在英国生效。
如何在考虑夏令时的同时将日期转换为 GMT?
【问题讨论】:
【参考方案1】:NSDate 使用绝对值的偏移量来表示时间间隔。基准以 GMT 为基准,所有时间间隔均以 GMT 为单位,这就是您看到差异的原因。如果您想要日期的字符串表示形式(例如用于存储在数据库中或其他任何内容中),请使用 NSDateFormatter 在您需要的任何特定时区创建它。
因此,这将始终为您提供 GMT 日期的字符串表示形式(例如存储在 mysql 中)(包括夏令时):
NSDateFormatter* formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; // e.g., set for mysql date strings
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
NSString* mysqlGMTString = [formatter stringFromDate:[NSDate date]];
无论本地时区如何,这将为您提供 GMT 时间的正确日期字符串。此外,请记住,您使用 NSDate 和时间间隔进行的所有相对测量都以 GMT 为基础。当您将日期格式化程序和日历对象呈现给用户或需要进行日历计算(例如,显示订阅明天到期的警告)时,使用日期格式化程序和日历对象将它们转换为更有意义的内容。
编辑:我忘了添加时区!没有它,格式化程序将使用系统时区。
【讨论】:
您也可以使用 NSDateFormatter 转换为 NSDate:***.com/questions/1578577/… @Epsilon Prime:嗯,是的,但他特别询问是否使用日期和时区而不是字符串。我选择这个例子是因为这是人们想要从本地时区转换为另一个时区(如 GMT)的常见原因。以上是关于格林尼治标准时间对照表(格林尼治标准时间)的主要内容,如果未能解决你的问题,请参考以下文章