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.