有没有办法在特定时区使用那些花哨的时间助手方法而不这样做?
Time.use_zone(Time.zone.name) { 1.week.ago }
我应该在哪个类中添加in_zone
方法,以便在不造成太多混淆的情况下执行以下操作?
1.week.ago.in_zone(Time.zone.name)
或者这已经内置了吗?我想知道因为我在任何地方都使用Time.zone.now
,并希望在其他情况下采用更简单的方法。
答案 0 :(得分:14)
Rails有一个名为in_time_zone
的方法,可以为您完成此操作。它适用于任何Time
,Date
或ActiveSupport::TimeWithZone
对象..
1.week.ago.in_time_zone("Tokyo")
您可以通过以下方式获取所有可用时区的列表:
rake time:zones:all