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) ; => false
Deep 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/