2012-12-27 26 views
1

我剛剛改變我的應用程序使用PST時區。然而,我的很多應用程序有一個使用Time.now代碼還停留在UTC:在另一方面Rails:Hack Time.now別名Time.current

irb(main):012:0> Time.now 
=> 2012-12-27 05:03:16 +0000 

Time.current,似乎有正確的時區用法:

irb(main):013:0> Time.current 
=> Wed, 26 Dec 2012 21:03:42 PST -08:00 

,而不是去通過我的整個應用程序並更改Time.now的每個實例,是否有意義用Time.now來替代Time.now?有沒有更好的方式在我的應用程序中處理這個問題,所以我不需要在任何地方修改我使用的Time.now,因爲它沒有使用我的應用程序的配置時區?

回答

4

從我的角度來看,應該避免使用這種猴子補丁:使用'全部替換路徑'Time.now => Time.current在幾乎任何編輯器中都不難做到,但是可以節省您的調試時間時間在未來尋找第三方或與你的同一項目工作的人的一些奇怪的錯誤。

+2

+1猴補丁不應該被用來出於懶惰。 –

+0

這是一個IDE(如rubyMine)的好用途之一,可以做全局搜索和替換,但也可以告訴你什麼會改變,所以你可以肯定。 –

0

如果您在使用Ubuntu,嘗試查找/ Perl的替代

perl -pi -e 's/Time\.now/Time\.current/' *