Ruby

【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
sakai
東京在住の30歳。元々は車部品メーカーで働いていてましたが、プログラミングに興味を持ちスクールに通ってエンジニアになりました。 そこからベンチャー → メガベンチャー → 個人事業主になりました。 最近は生成 AI 関連の業務を中心にやっています。 ヒカルチャンネル(Youtube)とワンピースが大好きです!