在Ruby on Rails中将时间转换为本地时间
现在我有:
Time.strftime("%I:%M%p")
给出了我需要的hr:min AM/PM
格式。 然而,它将在UTC中重新出现,我需要它在当地时区。
如何将其更改为本地时区并保持相同的时间格式?
此外,请记住,从Rails 2.1开始,支持时区。
在config / environment.rb文件中:
config.time_zone = 'UTC'
您可以通过运行找到其他值
rake time:zones:local
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"
这可能受TZ环境变量,操作系统区域设置或environment.rb中的Rails配置的影响。