その他

【Ruby】日付を扱う方法について(比較)

今日は実務で少しハマった日付の取り扱いについて書いていきたいと思います。この記事は都度更新する予定で日付の扱い方について書いていきたいと思います。

日付の比較

日付を不等号を使って比較すると以下のようになります。

today = Time.now
=> 2021-05-07 06:52:24 +0900

yesterday = Time.new(2021, 5, 6)
=> 2021-05-06 00:00:00 +0900

today > yesterday
=> true

新しいほうが大きいとみなされます。なので、Railsで現在の日付に近い順に並び替えるという際には昇順であるASCを使うことになります。

scope :near_order, -> { where('event_date >= ?', Time.current).order(event_date: ASC) }

もぐくん
もぐくん
ややこしいんだよね

さいごに

短いですが今日はここまでにしたいと思います。また、日付関連でまとめたいものがあればここに書いていく予定です。

ここまで読んでいただきありがとうございました。

ABOUT ME
酒井 駿
名古屋工業大学大学院卒業後、豊田合成(株)で品質管理を経験し、その後スタートアップ・マネーフォワードを経て、2024年11月に株式会社EGGHEAD創業。 製造業とエンジニアリング、両方の現場の知見を活かし、製造業における生成AIを活用した業務改善やシステム開発を支援します。