1

我刚刚更改了我的应用程序以使用 PST 时区。但是,我的很多应用程序都使用Time.now了仍然停留在 UTC 中的代码:

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.current 是否有意义?有没有更好的方法在我的应用程序中处理这个问题,所以我不必修改我使用的任何地方,Time.now因为它没有使用我的应用程序配置的时区?

4

2 回答 2

4

从我的角度来看,应该避免这种猴子修补:使用“替换路径中的所有内容” Time.now => Time.current 在几乎任何编辑器中都不难做到,但是您可以在以后的搜索中节省调试时间第 3 方或与您在同一个项目上工作的人中的一些奇怪的错误。

于 2012-12-27T05:22:17.847 回答
0

如果您使用的是 ubuntu,请尝试使用 perl 查找/替换

perl -pi -e 's/Time\.now/Time\.current/' *
于 2012-12-27T09:50:57.120 回答