【问题标题】:convert GMT time to EST将 GMT 时间转换为 EST
【发布时间】:2017-08-26 08:42:41
【问题描述】:

我的 sql server 位于 GMT,我需要获取 EST 等效 tz。

不知何故,EST 是错误的。

select now(),convert_tz(now(),'GMT','EST'),convert_tz(now(),'GMT','EST') - interval 10 minute

美国东部标准时间应该是 20:30 而不是 19:30

这是我的结果 -

【问题讨论】:

  • 大部分东部时区目前正在观察东部日光时间,即EDT。这就是为什么最好使用像America/New_York 这样的时区字符串。

标签: mysql timezone


【解决方案1】:

正如@ceejayoz 提到的,位置的时区会根据夏令时观察而变化。此外,将其称为 UTC 而不是 GMT 更合适,因为当您将其称为 GMT 时,它意味着您的服务器已调整到某个本地时间,例如伦敦时间,并且您的服务器的时间将切换到其他时间,比如说 BST,当观察到夏令时。

假设,我假设您正在尝试交流,您的服务器设置为 UTC 时间,从不遵守夏令时,并且您想将其转换为美国东部大多数城市观察到的时间,解决方案将是

SELECT NOW(),
  CONVERT_TZ(NOW(), 'UTC', 'America/New_York'),
  CONVERT_TZ(NOW(), 'UTC', 'America/New_York') - INTERVAL 10 MINUTE;

【讨论】:

  • 修正了你的斜线,而且 - 如果你使用 UTC_TIMESTAMP() 而不是 NOW(),那么你的服务器设置在哪个时区都没有关系。
  • GMT 不遵守夏令时。 GMT 和 UTC 是同一时间,在一秒钟内。遵守夏令时的伦敦时区被命名为“欧洲/伦敦”。
猜你喜欢
  • 2014-06-25
  • 2012-06-15
  • 2015-08-04
  • 1970-01-01
  • 2011-07-26
  • 2019-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多