Clojure:
日付を比較する
How to: (方法)
;; 日付ライブラリをインポート
(require '[clj-time.core :as time])
(require '[clj-time.coerce :as coerce])
;; 日付を作成
(def date1 (coerce/to-date-time "2023-02-20T00:00:00.000Z"))
(def date2 (coerce/to-date-time "2023-02-21T00:00:00.000Z"))
;; 日付を比較
;; date1がdate2よりも前か?
(time/before? date1 date2) ; => true
;; date1とdate2が同じ日付か?
(time/equal? date1 date2) ; => false
;; date1がdate2よりも後か?
(time/after? date1 date2) ; => falseDeep Dive (深掘り)
日付の比較はJavaのDateクラスから始まりました。ClojureはJavaプラットフォーム上で動きますから、Javaのライブラリが使えます。それに clj-time ライブラリはJoda-Timeに基づいていて、より扱いやすいインターフェースを提供しています。違う方法もありますが、clj-time はClojureコミュニティで広く使われています。もし纏める必要があるなら、Java 8以降のjava.timeパッケージを使うという選択肢もありますが、Clojureとの統合性では clj-time の方が優れていると考えられます。
See Also (関連情報)
- 完全な
clj-timeドキュメンテーション: https://github.com/clj-time/clj-time - Javaの日付と時刻APIガイド: https://docs.oracle.com/javase/tutorial/datetime/
- Clojure公式サイト: https://clojure.org/