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-time
a:
; 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.