在Ruby中转换数据/时间字符串

时间:2016-07-08 17:30:01

标签: ruby-on-rails ruby date datetime

我正在尝试将日期/时间字符串"06/14/2016 07:00 PM"转换为PST时区下的Time对象。我希望结果为Tue, 14 Jun 2016 19:00:00 PDT -07:00

我尝试了以下内容:

t = "06/14/2016 07:00 PM"
r = Time.strptime(t, "%m/%d/%Y %I:%M %p").in_time_zone("Pacific Time (US & Canada)")

时间以Tue, 14 Jun 2016 17:00:00 PDT -07:00的形式返回。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这段代码对我来说工作正常,但有两个可能的问题导致错误的结果:

  1. 您不在太平洋时区(或者至少不是根据您的计算机):您可以通过运行r = Time.strptime(t, "%m/%d/%Y %I:%M %p")来测试,然后打印结果r。我愿意下注它输出 Tue, 14 Jun 2016 19:00:00 CDT -05:00

  2. 您使用的是ruby而不是rails in_time_zone仅适用于rails。如果您尝试在ruby中使用它,它将无效。