Time.strftime("%I:%M%p")
这给我hr:min AM/PM
格式,我需要的。然而,它以UTC来回,我需要它在当地时区。
如何将其更改为本地时区并保持相同格式的时间?
Time.strftime("%I:%M%p")
这给我hr:min AM/PM
格式,我需要的。然而,它以UTC来回,我需要它在当地时区。
如何将其更改为本地时区并保持相同格式的时间?
另外,请记住,从Rails 2.1开始,支持时区。
在你的配置/environment.rb文件中:
config.time_zone = 'UTC'
您可以通过运行
rake time:zones:local
找到其他值和Ryan贝茨上有很大的railscast: http://railscasts.com/episodes/106-time-zones-in-rails-2-1
通常应该工作。你可能有你的时区设置不正确,虽然:
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的配置受到影响。
我希望本文的标题将被改变,以反映作者询问Time not DateTime。这导致了误导性的搜索结果。我来自谷歌认为这是关于通过搜索'本地日期时间在rails'中将DateTime对象更改为本地时间' – 2013-01-29 06:48:27