Rails:不同时区的时间

时间:2014-02-17 08:38:24

标签: ruby-on-rails ruby-on-rails-3 datetime timezone

旧金山上午9点的一个房间'打开'。我必须在Rails中正确记录时间。

DateTime.new(2013,11,19,9,0,0) # This produces GMT: Tue, 19 Nov 2013 09:00:00 +0000

DateTime.new(2013,11,19,9,0,0).in_time_zone("Pacific Time (US & Canada)") # This also records in GMT: Mon, 18 Nov 2013 01:00:00 PST -08:00

我想得到时间本地,即:Tue, 19 Nov 2013 09:00:00 PST -08:00

我该怎么做?

1 个答案:

答案 0 :(得分:2)

了解时区(可在rake time:zones:all处获得选项列表),

time_zone = "Pacific Time (US & Canada)"

然后你可以这样做:

ActiveSupport::TimeZone[time_zone].parse("2013-11-19 09:00:00")