Clojure:
Einen Datum aus einem String analysieren

Wie geht das:

Da Clojure eine JVM-Sprache ist, ermöglicht sie Ihnen, direkte Java’s Datums- und Zeitbibliotheken zu verwenden. Beginnen wir mit der eingebauten Java-Interoperation und erkunden dann, wie man eine beliebte Drittanbieter-Bibliothek, clj-time, für ideomatischere Clojure-Lösungen nutzen kann.

Verwendung von Java Interop

Clojure kann direkt Java’s java.time.LocalDate nutzen, um Daten aus Strings zu parsen:

(require '[clojure.java.io :as io])

; Ein Datum mittels Java Interop parsen
(let [date-str "2023-04-01"
      date (java.time.LocalDate/parse date-str)]
  (println date))
; Ausgabe: 2023-04-01

Verwendung von clj-time

Eine idiomatischere Clojure-Bibliothek zum Umgang mit Daten und Zeiten ist clj-time. Sie basiert auf Joda-Time, einer umfassenden Bibliothek für Datums- und Zeitoperationen. Zuerst müssen Sie clj-time zu den Abhängigkeiten Ihres Projekts hinzufügen. Hier sehen Sie, wie Sie einen Datumsstring mit clj-time parsen:

; Stellen Sie sicher, dass Sie [clj-time "0.15.2"] in Ihrem project.clj unter :dependencies hinzufügen

(require '[clj-time.format :as fmt]
         '[clj-time.core :as time])

; Definieren Sie einen Formatierer
(let [formatter (fmt/formatter "yyyy-MM-dd")
      date-str "2023-04-01"
      parsed-date (fmt/parse formatter date-str)]
  (println parsed-date))
; Ausgabe: #object[org.joda.time.DateTime 0x76eccb5d "2023-04-01T00:00:00.000Z"]

Diese Beispiele demonstrieren das grundlegende Parsen von Daten. Beide Methoden sind nützlich, aber clj-time kann mit zusätzlichen Funktionen für komplexe Anforderungen einen mehr auf Clojure zentrierten Ansatz bieten.