Analysering av en dato fra en streng

Clojure:
Analysering av en dato fra en streng

Hvordan:

Clojure, som et JVM-språk, lar deg bruke Javas dato- og tidsbiblioteker direkte. La oss starte med den innebygde Java-interoperabiliteten og deretter utforske hvordan man utnytter et populært tredjepartsbibliotek, clj-time, for mer idiomatiske Clojure-løsninger.

Bruke Java Interop

Clojure kan direkte benytte seg av Javas java.time.LocalDate for å parse datoer fra strenger:

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

; Parse en dato ved hjelp av Java interop
(let [date-str "2023-04-01"
      date (java.time.LocalDate/parse date-str)]
  (println date))
; Utdata: 2023-04-01

Bruke clj-time

Et mer idiomatisk Clojure-bibliotek for å håndtere datoer og tider er clj-time. Det omslutter Joda-Time, et omfattende bibliotek for dato- og tidsoperasjoner. Først må du legge til clj-time i prosjektets avhengigheter. Slik parser du en datostreng med clj-time:

; Husk å legge til [clj-time "0.15.2"] i project.clj under :dependencies

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

; Definer en formatter
(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"]

Disse eksemplene demonstrerer grunnleggende datoparsing. Begge metodene er nyttige, men clj-time kan tilby en mer Clojure-sentrert tilnærming med tilleggsfunksjonaliteter for komplekse krav.