2011-03-21 24 views
5

有沒有辦法在特定的時區使用那些奇特的時間幫手方法而不這樣做?1.week.ago.in_zone(Time.zone)for Rails?

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

什麼類(ES),我應該增加一個方法in_zone來,所以我可以做以下不會造成很大的混亂?

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

或者這已經內置?我想知道,因爲我在任何地方都使用Time.zone.now,並希望在其他情況下采用更簡單的方法。

回答

12

Rails有一個叫做in_time_zone的方法,它可以幫你。它適用於任何TimeDateActiveSupport::TimeWithZone對象..

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

您可以通過運行獲取所有可用的時區的列表:

rake time:zones:all