Päivämäärän muuntaminen merkkijonoksi

Clojure:
Päivämäärän muuntaminen merkkijonoksi

How to:

Clojure käyttää Java-kirjastoja päivämäärien käsittelyyn ja formaattiin. Tässä on esimerkki:

(import '(java.text SimpleDateFormat)
         '(java.util Date))

(defn format-date [date pattern]
  (let [date-format (SimpleDateFormat. pattern)]
    (.format date-format date)))

(println (format-date (Date.) "dd.MM.yyyy HH:mm:ss"))
;; Esimerkki tuloste: "21.03.2023 14:56:07"

Deep Dive

Päivämäärän merkkijonoksi muuttaminen on tärkeää, jotta se voidaan ilmaista ymmärrettävästi ihmisille. Historiallisesti, tämä on ollut osa ohjelmointia Java-kirjastojen ansiosta, jota Clojure suoraan hyödyntää.

Vaihtoehtoisesti, Clojure-kirjasto clj-time tarjoaa rikkaamman API:n päivämäärille ennen JDK 8:a, mutta nykyisin useimmissa tapauksissa riittää java.time -kirjasto, joka tuli osaksi Javaa versiossa 8. Tässä esimerkki java.time käyttämisestä:

(import '(java.time LocalDateTime)
         '(java.time.format DateTimeFormatter))

(defn format-date-java-time [datetime pattern]
  (let [formatter (DateTimeFormatter/ofPattern pattern)]
    (.format datetime formatter)))

(println (format-date-java-time (LocalDateTime/now) "dd.MM.yyyy HH:mm:ss"))
;; Esimerkki tuloste: "21.03.2023 14:59:23"

Muutos tulee toteen Java metodin .format avulla, jolle annetaan formaatti DateTimeFormatter tai SimpleDateFormat luokasta. Joustavuus formaatin suhteen tarkoittaa, että voit määrittää päivämäärän ulkoasun tarkasti tarpeidesi mukaan.

See Also

  1. Clojure Docs
  2. Java SimpleDateFormat
  3. Java DateTimeFormatter
  4. clj-time GitHub