Ruby中的不存在时区



在巴巴多斯(Barbados)开发一个红宝石(Ruby),我偶然发现了时区的问题。

正式的巴巴多斯时区是AST(大西洋标准时间),即UTC-4。将时区设置为config.time的字符串是"大西洋时间(加拿大)"。

但是,AST的一些国家/地区昨天进入了日光储蓄时间,而不是巴巴多斯(Barbados),这使存储在数据库中的记录以" ADT"(大西洋白天时间)而不是AST出现在UTC-3中。还有其他时区不正常出现吗?

简短答案:您可以使用America/Barbados的时区吗?


更长的答案

ActiveSupport::TimeZoneTZInfo::Timezone周围的包装器,因此您可能需要深入研究源以查看正在发生的事情。

在这里找出时区有点令人困惑 - 看来巴巴多斯的时区被列为维基百科的东加勒比海,但是重定向到AST并没有观察到DST。但是将其设置为Rails中的AST将默认观察DST。

但是,如果您通过TZInfo中的受支持的时区,您会发现确实有Barbados和其他国家共享加勒比海东部时间的时区。

应该有效的...如果不工作,那么值得在TZInfo错误跟踪器上提高。

相关内容

  • 没有找到相关文章

最新更新