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

Ruby on rails 在Ruby中转换数据/时间字符串,ruby-on-rails,ruby,date,datetime,Ruby On Rails,Ruby,Date,Datetime,我正在尝试将日期/时间字符串“06/14/2016 07:00 PM”转换为PST时区下的时间对象。我希望结果为2016年6月14日星期二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)") 时间返回为2016年6月14日星期二17:00:00 PDT-07:00

我正在尝试将日期/时间字符串
“06/14/2016 07:00 PM”
转换为PST时区下的
时间对象。我希望结果为2016年6月14日星期二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)")

时间返回为2016年6月14日星期二17:00:00 PDT-07:00。有什么想法吗?

这段代码对我来说运行正常,但有两个可能的问题给了你错误的结果:

  • 您不在太平洋时区(或者至少不根据您的计算机):您可以通过运行
    r=time.strtime(t,“%m/%d/%Y%I:%m%p”)
    来测试这一点,然后打印
    r
    的结果。我敢打赌它会输出
    2016年6月14日星期二19:00:00 CDT-05:00

  • 您使用的是ruby而不是rails
    在时区中
    仅在rails中使用。如果您试图在ruby中使用它,它将不起作用


  • 你在哪个时区?似乎你的计算机认为你在中央时区。而且,我发现
    在_时区
    是一个未定义的方法。@EliSadoff我添加了rails标记,因为这是一种rails方法。如果你想要像
    在_时区
    这样的方法,你可以在非rails项目中使用ActiveSupport。