Clojure:
Analysera ett datum från en sträng
Hur:
Clojure, som är ett JVM-språk, tillåter dig att använda Java’s datum- och tidsbibliotek direkt. Låt oss börja med den inbyggda Java-interoperabiliteten och sedan utforska hur man använder ett populärt tredjepartsbibliotek, clj-time, för mer idiomatiska Clojure-lösningar.
Använda Java Interop
Clojure kan direkt dra nytta av Javas java.time.LocalDate
för att tolka datum från strängar:
(require '[clojure.java.io :as io])
; Tolka ett datum med hjälp av Java interop
(let [date-str "2023-04-01"
date (java.time.LocalDate/parse date-str)]
(println date))
; Utdata: 2023-04-01
Använda clj-time
Ett mer idiomatiskt Clojure-bibliotek för att hantera datum och tider är clj-time
. Det omsluter Joda-Time, ett omfattande bibliotek för datum- och tidsoperationer. Först behöver du lägga till clj-time
till ditt projekts beroenden. Så här tolkar du en datumsträng med användning av clj-time
:
; Se till att lägga till [clj-time "0.15.2"] till ditt project.clj under :dependencies
(require '[clj-time.format :as fmt]
'[clj-time.core :as time])
; Definiera en formatterare
(let [formatter (fmt/formatter "yyyy-MM-dd")
date-str "2023-04-01"
parsed-date (fmt/parse formatter date-str)]
(println parsed-date))
; Utdata: #object[org.joda.time.DateTime 0x76eccb5d "2023-04-01T00:00:00.000Z"]
Dessa exempel demonstrerar grundläggande datumtolkning. Båda metoderna är användbara, men clj-time
kan erbjuda en mer Clojure-centrerad metod med ytterligare funktionaliteter för komplexa krav.