Suche…
Einführung
In diesem Dokument wird beschrieben, wie Datum und Uhrzeit in Clojure geändert werden.
Um dies in Ihrer Anwendung zu verwenden, gehen Sie in Ihre project.clj-Datei und fügen Sie [clj-time "<Versionsnummer>"] in Ihren: Abhängigkeiten-Abschnitt ein.
Erstellen einer Joda-Zeit
(clj-time/date-time 2017 1 20)
Gibt Ihnen eine Joda-Zeit vom 20. Januar 2017 um 00:00:00.
Stunden, Minuten und Sekunden können auch als angegeben werden
(clj-time/date-time year month date hour minute second millisecond)
Tag Monat Jahr Stunde Minute Sekunde ab Datum und Uhrzeit
(require '[clj-time.core :as t])
(def example-time (t/date-time 2016 12 5 4 3 27 456))
(t/year example-time) ;; 2016
(t/month example-time) ;; 12
(t/day example-time) ;; 5
(t/hour example-time) ;; 4
(t/minute example-time) ;; 3
(t/second example-time) ;; 27
Vergleich von zwei Datum und Uhrzeit
(require '[clj-time.core :as t])
(def date1 (t/date-time 2016 12 5))
(def date2 (t/date-time 2016 12 6))
(t/equal? date1 date2) ;; false
(t/equal? date1 date1) ;; true
(t/before? date1 date2) ;; true
(t/before? date2 date1) ;; false
(t/after? date1 date2) ;; false
(t/after? date2 date1) ;; true
Prüfen, ob eine Zeit innerhalb eines Zeitintervalls liegt
Diese Funktion gibt an, ob eine bestimmte Zeit innerhalb eines bestimmten Zeitintervalls liegt.
(require '[clj-time.core :as t])
(def date1 (t/date-time 2016 11 5))
(def date2 (t/date-time 2016 12 5))
(def test-date1 (t/date-time 2016 12 20))
(def test-date2 (t/date-time 2016 11 15))
(t/within? (t/interval date1 date2) test-date1) ;; false
(t/within? (t/interval date1 date2) test-date2) ;; true
Die Intervallfunktion wird ausschließlich verwendet , dh das zweite Argument der Funktion wird nicht innerhalb des Intervalls angegeben. Als Beispiel:
(t/within? (t/interval date1 date2) date2) ;; false
(t/within? (t/interval date1 date2) date1) ;; true
Hinzufügen von Joda-Datum / Uhrzeit aus anderen Zeitarten
Die Bibliothek clj-time.coerce kann bei der Konvertierung anderer Datum / Uhrzeit-Formate in das joda-Uhrzeitformat (clj-time.core / date-time) helfen. Die anderen Formate umfassen Java-Langformat , String , Datum , SQL-Datum .
Um Zeit aus anderen Zeitformaten zu konvertieren, schließen Sie die Bibliothek ein und verwenden Sie die from-Funktion, z
(require '[clj-time.coerce :as c])
(def string-time "1990-01-29")
(def epoch-time 633571200)
(def long-time 633551400)
(c/from-string string-time) ;; #<DateTime 1990-01-29T00:00:00.000Z>
(c/from-epoch epoch-time) ;; #<DateTime 1990-01-29T00:00:00.000Z>
(c/from-long 633551400) ;; #<DateTime 1990-01-29T00:00:00.000Z>
Hinzufügen von Datum und Uhrzeit zu anderen Datumszeiten
cljs-time gibt uns die Möglichkeit, Datumszeiten zu anderen Datumszeiten hinzuzufügen / von ihnen abzuziehen. Die hinzugefügten Datumszeiten sollten in Form von Tagen, Monaten, Jahren, Stunden usw. angegeben werden.
(require '[clj-time.core :as t])
(def example-date (t/date-time 2016 1 1)) ;; #<DateTime 2016-01-01T00:00:00.000Z>
;; Addition
(t/plus example-date (t/months 1)) ;; #<DateTime 2016-02-01T00:00:00.000Z>
(t/plus example-date (t/years 1)) ;; #<DateTime 2017-01-01T00:00:00.000Z>
;; Subtraction
(t/minus example-date (t/days 1)) ;; #<DateTime 2015-12-31T00:00:00.000Z>
(t/minus example-date (t/hours 12)) ;; #<DateTime 2015-12-31T12:00:00.000Z>