Rya*_*yan 8 ruby ruby-on-rails
现在我有:
Time.strftime("%I:%M%p")这给了我所需的hr:min AM/PM格式.然而,它将在UTC中重新出现,我需要它在当地时区.
如何将其更改为本地时区并保持相同的时间格式?
Mar*_* S. 11
此外,请记住,从Rails 2.1开始,支持时区.
在config/environment.rb文件中:
config.time_zone = 'UTC'
Run Code Online (Sandbox Code Playgroud)
您可以通过运行找到其他值
 rake time:zones:local
Run Code Online (Sandbox Code Playgroud)
Ryan Bates有一个很好的轨道广播: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"
Run Code Online (Sandbox Code Playgroud)
这可能受TZ环境变量,操作系统区域设置或environment.rb中的Rails配置的影响.