Rails で現在の日時が指定した期間内か判別
Rails で現在の日時が指定した期間内か判別
beginning_of_day
指定した日時の 00:00:00
になります。
[1] pry(main)> Time.current.beginning_of_day
=> Fri, 21 Jun 2019 00:00:00 JST +09:00
参考: beginning_of_day - リファレンス - - Rails ドキュメント
between?
between?
を使うと、指定した日時が指定した期間内にあるのか判別できます。
[1] pry(main)> Time.current
=> Fri, 21 Jun 2019 00:49:56 JST +09:00
[2] pry(main)> today = Time.current.beginning_of_day
=> Fri, 21 Jun 2019 00:00:00 JST +09:00
[3] pry(main)> Time.current.between?(today + 9.hour, today + 21.hour)
=> false
[4] pry(main)> Time.current.between?(today, today + 1.hour)
=> true
参考: between? (Comparable) - Ruby リファレンス