2009-07-22 37 views
8

现在我有:变换时间到红宝石当地时间on Rails的

Time.strftime("%I:%M%p")这给我hr:min AM/PM格式,我需要的。然而,它以UTC来回,我需要它在当地时区。

如何将其更改为本地时区并保持相同格式的时间?

+3

我希望本文的标题将被改变,以反映作者询问Time not DateTime。这导致了误导性的搜索结果。我来自谷歌认为这是关于通过搜索'本地日期时间在rails'中将DateTime对象更改为本地时间' – 2013-01-29 06:48:27

回答

7

通常应该工作。你可能有你的时区设置不正确,虽然:

Time.now.strftime("%I:%M%p") # => "12:48PM" 
Time.now.utc.strftime("%I:%M%p") # => "04:48PM" 
Time.now.utc.getlocal.strftime("%I:%M%p") # => "12:48PM" 
Time.now.zone # => "EDT" 

这可以通过TZ环境变量,您的操作系统区域设置,或在environment.rb中Rails的配置受到影响。