Ruby on Rails为时区中的DateTime对象设置特定时间

时间:2015-02-12 21:21:52

标签: ruby-on-rails ruby datetime timezone

我知道打电话......

DateTime.now.in_time_zone('Pacific Time (US & Canada)')

将在太平洋时区返回一个DateTime对象。有没有办法使用in_time_zone在特定时间而不是现在返回DateTime,这样我就不必用这样的东西转换UTC时间

 DateTime.new(year, month, day, hour, min).in_time_zone('Pacific Time (US & Canada)')

2 个答案:

答案 0 :(得分:2)

以上情况还可以,但我认为这是一个更好的解决方案,可以无缝地在多个时区之间来回切换。

DateTime.now.in_time_zone('Pacific Time (US & Canada)').change({hour: 13, minute: 30}).in_time_zone('Eastern Time (US & Canada)')

答案 1 :(得分:0)

你可以这样做:

my_time_zone = "Pacific Time (US & Canada)"  
ActiveSupport::TimeZone[my_time_zone].parse("2015-02-12 21:57:00")

应该在提供的时区中返回DateTime。