39

我有一个内置在 JavaScript 中的日历,可以将日期与 PHP 进行比较。JavaScript 日期对象是使用 PHP 设置的,但是,当我比较未来的日期时,它们似乎不同步。

PHP 设置为 GMT,JavaScript 设置为 UTC;这些标准有何不同,这是否会导致问题?

4

4 回答 4

36

来自维基百科上的协调世界时

协调世界时 (UTC) 是基于国际原子时 (TAI) 的时间标准,其中不定期添加闰秒以补偿地球缓慢的自转。

来自维基百科上的格林威治标准时间

UTC 是一个原子时标,仅近似于 GMT,容差为 0.9 秒

于 2009-10-23T08:49:13.243 回答
32

一个是从太阳测量的,另一个是从原子钟测量的。

出于您的目的,它们是相同的。

于 2009-10-23T08:52:56.310 回答
1

对于计算机,GMT 是 UTC+0 - 所以它们是等价的。

于 2017-09-21T03:09:55.663 回答
0

如果您严格按照 UTC 和 GMT 的定义来定义,那么就像其他人指出的那样,没有真正的实际区别。

但是需要小心,因为在某些情况下使用(可能是旧的)术语,例如在Microsoft 时区索引值中

不同之处在于,在这种情况下,所谓的“GMT 时区”(代码 55)实际上是“GMT 区域设置”,它是都柏林、爱丁堡、里斯本、伦敦使用的区域设置(所有这些都遵守夏令时)与格林威治标准时间(代码 5A)不同,蒙罗维亚和雷克雅未克使用的格林威治标准时间(代码 5A)均不遵守夏令时。

实际的区别是,如果系统设置为使用 UTC(代码 80000050 在上面指定的语义下),那么它不会自动切换到夏令时,而如果您将时区设置为 GMT(代码 55),那么有一个很好的有可能它会在夏季自动切换到 BST,而您不会注意到。

于 2017-03-22T09:16:06.213 回答