Clojure:
Porównywanie dwóch dat
Jak to zrobić:
;; Zaimportuj moduły
(require '[clj-time.core :as t])
(require '[clj-time.coerce :as coerce])
;; Stwórz dwie daty do porównania
(def date1 (t/date-time 2021 3 10)) ; 2021-03-10
(def date2 (t/date-time 2023 1 15)) ; 2023-01-15
;; Porównanie dat
(println (t/before? date1 date2)) ; Wypisze: true
(println (t/after? date1 date2)) ; Wypisze: false
(println (t/equal? date1 date1)) ; Wypisze: trueWyjście:
true
false
trueWgłębienie się
Porównywanie dat w Clojure często wykonuje się z użyciem biblioteki clj-time, która bazuje na Joda-Time - bibliotece dla Javy do zarządzania czasem przed wprowadzeniem java.time w Java 8. Mimo, że java.time jest teraz standardem, clj-time jest nadal używane w wielu projektach Clojure ze względu na swoją wygodę i prostotę. Istnieje także możliwość używania natywnych klas Javy (np. java.util.Date i java.time, zdefiniowanych w Java 8), ale clj-time oferuje przyjaźniejszy interfejs i lepszą integrację z Clojure.
Zobacz też
- Dokumentacja
clj-time: https://github.com/clj-time/clj-time - Dokumentacja
java.time: https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html - Poradnik Joda-Time w Javie: http://www.joda.org/joda-time/