这不会在太平洋时区返回时间:
Time.use_zone "Pacific Time (US & Canada)" do
Time.now
end
这在太平洋时区有效并且返回时间:
Time.now.in_time_zone "Pacific Time (US & Canada)"
我正在使用gem Rails v4.1.0.rc1
答案 0 :(得分:1)
以下应该工作
Time.use_zone "Pacific Time (US & Canada)" do
p Time.zone.now
end
为什么呢? Time.now
无效
答案很简单Time.now
是Ruby的方法,Time.zone.now
是Rails方法。
Time.now
将为您提供服务器时间。但Time.zone.now
将为您提供rails应用程序时间(在config.time_zone中设置)。当您Time.use_zone
给出块和时区作为参数时,它将使用此时区作为块中的默认值。但是调用Time.now
仍然会获取未更改的操作系统的时间。