如何在RoR中返回我当前的时区?

时间:2010-01-26 14:08:41

标签: ruby-on-rails ruby datetime time timezone

当我使用return返回记录创建的时间时,它会显示:

  

2010-01-20 15:04:40 UTC

但我希望在指定时区内有时间,例如中国。 RoR中有没有方便的方法?

2 个答案:

答案 0 :(得分:5)

config/environment.rb中配置您的时区,让Rails将所有时间戳投射到此时区。

config.time_zone = 'Berlin'

作为替代方案,您可以随时使用

之类的东西
Time.utc(2000).in_time_zone('Alaska') 

请参阅文档here

答案 1 :(得分:0)

查看TimeZone和TimeWithZone类。他们增加了时区支持。还有一些Time和DateTime类的附加功能也有助于处理时区。文档在此处给出:http://api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html

这里还有一篇很好的帖子,提供了一些额外的细节:http://ryandaigle.com/articles/2008/1/25/what-s-new-in-edge-rails-easier-timezones