Päivämäärän jäsennys merkkijonosta

Clojure:
Päivämäärän jäsennys merkkijonosta

Kuinka:

Clojure, ollessaan JVM-kieli, mahdollistaa Javan päivämäärä- ja aikalukkastojen suoran käytön. Aloittakaamme sisäänrakennetulla Java-yhteistyöllä ja tutkikaamme sitten, kuinka hyödyntää suosittua kolmannen osapuolen kirjastoa, clj-timea, idiomaattisempien Clojure-ratkaisujen saavuttamiseksi.

Käyttäen Java-yhteistyötä

Clojure voi suoraan hyödyntää Javan java.time.LocalDate -luokkaa päivämäärien jäsentämiseen merkkijonoista:

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

; Päivämäärän jäsentäminen käyttäen Java-yhteistyötä
(let [date-str "2023-04-01"
      date (java.time.LocalDate/parse date-str)]
  (println date))
; Tuloste: 2023-04-01

Käyttäen clj-timea

Idiomaattisempi Clojure-kirjasto päivämäärien ja aikojen käsittelyyn on clj-time. Se käärii Joda-Timen, kattavan kirjaston päivämäärä- ja aikaoperaatioille. Sinun täytyy ensin lisätä clj-time projektisi riippuvuuksiin. Näin jäsenät päivämäärämerkkijonon käyttäen clj-timea:

; Varmista että lisäät [clj-time "0.15.2"] projekti.clj-tiedostoosi kohtaan :dependencies

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

; Määrittele formaatteri
(let [formatter (fmt/formatter "yyyy-MM-dd")
      date-str "2023-04-01"
      parsed-date (fmt/parse formatter date-str)]
  (println parsed-date))
; Tuloste: #object[org.joda.time.DateTime 0x76eccb5d "2023-04-01T00:00:00.000Z"]

Nämä esimerkit esittävät perus päivämäärän jäsentämistä. Molemmat menetelmät ovat hyödyllisiä, mutta clj-time voi tarjota Clojure-keskeisemmän lähestymistavan lisätoiminnallisuuksilla monimutkaisia vaatimuksia varten.