Clojure:
Розбір дати з рядка
Як:
Оскільки Clojure є мовою JVM, ви можете безпосередньо використовувати бібліотеки Java для дати та часу. Почнемо з вбудованої взаємодії з Java, а потім розглянемо, як використовувати популярну сторонню бібліотеку clj-time для більш ідіоматичних рішень Clojure.
Використання взаємодії з Java
Clojure може безпосередньо використовувати java.time.LocalDate
Java для розбору дат з рядків:
(require '[clojure.java.io :as io])
; Розбір дати використовуючи взаємодію з Java
(let [date-str "2023-04-01"
date (java.time.LocalDate/parse date-str)]
(println date))
; Вивід: 2023-04-01
Використання clj-time
Більш ідіоматичною бібліотекою Clojure для роботи з датами та часом є clj-time
. Вона обгортає Joda-Time, всеосяжну бібліотеку для операцій з датою та часом. Спочатку вам потрібно додати clj-time
до залежностей вашого проекту. Ось як ви можете розібрати рядок дати використовуючи clj-time
:
; Переконайтеся, що додали [clj-time "0.15.2"] до вашого project.clj в :dependencies
(require '[clj-time.format :as fmt]
'[clj-time.core :as time])
; Визначте форматер
(let [formatter (fmt/formatter "yyyy-MM-dd")
date-str "2023-04-01"
parsed-date (fmt/parse formatter date-str)]
(println parsed-date))
; Вивід: #object[org.joda.time.DateTime 0x76eccb5d "2023-04-01T00:00:00.000Z"]
Ці приклади демонструють базовий розбір дат. Обидва методи корисні, але clj-time
може забезпечити більш специфічний для Clojure підхід з додатковими функціональностями для складних вимог.