Rails:本地工作站解析时间的方式与服务器不同

Rails: local workstation parses time differently than server

有一些代码来解析带时区的字符串:

Time.strptime("5/28/19 14:26:36 Eastern Time (US & Canada)", '%m/%d/%y %H:%M:%S %Z')

奇怪的是,在我的本地机器上,结果是:2019-05-28 14:26:36 -0600

然而,当我在我的 Heroku 登台服务器上 运行 同一行时,结果是 2019-05-28 14:26:36 +0000

也许这两种环境之间存在一些 system/Rails 时区配置不同,但我希望它们能够正确解析相同的字符串。

在两个环境中使用相同版本的 Ruby、Rails 和所有 gem。

有什么想法吗?

您应该使用 Time.zone.strptime 来考虑时区,例如

Time.zone.strptime("5/28/19 14:26:36 Eastern Time (US & Canada)", '%m/%d/%y %H:%M:%S %Z')