1.week.ago.in_zone(Time.zone)for Rails?

时间:2011-03-21 15:59:47

标签: ruby-on-rails

有没有办法在特定时区使用那些花哨的时间助手方法而不这样做?

Time.use_zone(Time.zone.name) { 1.week.ago }

我应该在哪个类中添加in_zone方法,以便在不造成太多混淆的情况下执行以下操作?

1.week.ago.in_zone(Time.zone.name)

或者这已经内置了吗?我想知道因为我在任何地方都使用Time.zone.now,并希望在其他情况下采用更简单的方法。

1 个答案:

答案 0 :(得分:14)

Rails有一个名为in_time_zone的方法,可以为您完成此操作。它适用于任何TimeDateActiveSupport::TimeWithZone对象..

1.week.ago.in_time_zone("Tokyo")

您可以通过以下方式获取所有可用时区的列表:

rake time:zones:all