1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

現在時刻からの時刻差分の求め方

Last updated at Posted at 2019-05-04

環境

  • 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  # 日

とすることで求めることが出来る。

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?