我已经在
/config/application.rb
中设置了时区,我希望应用程序中生成的所有时间默认都是这个时区,但是当我创建一个新的DateTime
对象(使用.new
)时,它会在GMT
中创建。如何让它处于我的应用程序的时区?config.time_zone = 'Pacific Time (US & Canada)'
irb
的翻译是:irb
DateTime.now
# => Wed, 11 Jul 2012 19:04:56 -0700
mydate = DateTime.new(2012, 07, 11, 20, 10, 0)
# => Wed, 11 Jul 2012 20:10:00 +0000 # GMT, but I want PDT
使用 in_time_zone
并不能起作用,因为它只会将 GMT 时间转换为 PDT 时间,这是错误的时间:
mydate.in_time_zone('Pacific Time (US & Canada)')
# => Wed, 11 Jul 2012 13:10:00 PDT -07:00 # wrong time (I want 20:10)
'2012-07-11 21:00'.to_datetime.in_time_zone('Eastern Time (US & Canada)')
的代码。 - Peter Brown