環境
- Ruby 2.6.1
- Ruby on Rails 5.2.3
内容
Railsでgenerateしたモデルが持つcreated_atやupdated_atが、
今から何分、何時間前なのか出したい時等、現在時刻からの時刻差分を求めたいことがあると思う。
その場合の方法について。
求め方
Time.zone.now - created_at(もしくはupdated_at)で差分(秒)を求められる。
しかし、このままだと小数点以下(ミリ秒)まで含まれるため、
状況に応じて切り捨てるなり、四捨五入するなりしておく必要がある。
分、時間、日を求めたい場合は、ここから計算してあげれば良い。
以下は切り捨ての場合。
(Time.zone.now - created_at).floor / 60 # 分
(Time.zone.now - created_at).floor / 3600 # 時間
(Time.zone.now - created_at).floor / 14400 # 日
とすることで求めることが出来る。