[Rails]Time.nowとTime.currentの違い
Time.now
RubyのTimeクラスに存在するメソッド。環境変数のタイムゾーンを使用する。
Time.current
TimeWithZoneのインスタンスが返される。application.rbのタイムゾーンが使用される
使用するタイムゾーンの違いによる影響
日本に住んでいる人しか使わないシステムの場合は、特に影響を受けない。 海外に住んでいる人が使う場合、環境変数のタイムゾーンが現地時間になってしまう可能性があるので、TimeWithZoneクラスを使ったほうが良い。
なので、 Time.now ではなく Time.current を使ったほうが良い。
Rails/TimeZone
rubocopで Time.now を使わないように制御することもできる
# bad
Time.now
Time.parse('2015-03-02T19:05:37')
# good
Time.current
Time.zone.now
【参考】