Analiza składniowa daty z łańcucha znaków

Clojure:
Analiza składniowa daty z łańcucha znaków

Jak to zrobić:

Clojure, będąc językiem JVM, pozwala bezpośrednio korzystać z bibliotek daty i czasu Javy. Zacznijmy od wbudowanej interoperacyjności z Javą, a następnie zobaczymy, jak wykorzystać popularną bibliotekę stron trzecich, clj-time, dla bardziej idiomatycznych rozwiązań w Clojure.

Korzystanie z interop Java

Clojure może bezpośrednio wykorzystać java.time.LocalDate Javy do parsowania dat z ciągów znaków:

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

; Parsowanie daty za pomocą interop Java
(let [date-str "2023-04-01"
      date (java.time.LocalDate/parse date-str)]
  (println date))
; Wyjście: 2023-04-01

Korzystanie z clj-time

Bardziej idiomatyczną biblioteką Clojure do pracy z datami i czasami jest clj-time. Owiń to Joda-Time, obszerną bibliotekę operacji na datach i czasach. Najpierw musisz dodać clj-time do zależności swojego projektu. Oto jak parsować ciąg daty używając clj-time:

; Upewnij się, że dodałeś [clj-time "0.15.2"] do swojego project.clj pod :dependencies

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

; Definiowanie formattera
(let [formatter (fmt/formatter "yyyy-MM-dd")
      date-str "2023-04-01"
      parsed-date (fmt/parse formatter date-str)]
  (println parsed-date))
; Wyjście: #object[org.joda.time.DateTime 0x76eccb5d "2023-04-01T00:00:00.000Z"]

Te przykłady demonstrują podstawowe parsowanie dat. Obydwie metody są użyteczne, ale clj-time może zapewnić bardziej zorientowane na Clojure podejście z dodatkowymi funkcjonalnościami dla złożonych wymagań.