Date.today と Date.current の違い

Railsアプリで現在の日付を取得する時、Date.todayDate.currentどっちでも取得できるが、違いが気になったので調べてみました。

まず大事なこととして、Railsアプリケーションでは「システムまたは環境変数に設定されたタイムゾーン」と「application.rbに設定されたタイムゾーン」の2種類があるらしい。

Date.today

Date.todayは、環境変数タイムゾーンを使う。

Date.current

Date.currentは、application.rbのタイムゾーンを使う。

まとめ

環境変数を設定してDate.todayを使うよりも、application.rbにタイムゾーンの設定を書いてDate.currentを使った方が思いがけないミスが減りそうなので、Date.currentをなるべく使っていこうと思います。

参考