Clojure:
การแยกวันที่ออกจากสตริง
วิธีการ:
Clojure เป็นภาษาของ JVM ทำให้คุณสามารถใช้ไลบรารีวันที่และเวลาของ Java โดยตรง มาเริ่มต้นกับการใช้งาน Java interoperation ที่มีอยู่และจากนั้นสำรวจวิธีใช้งานไลบรารีของบุคคลที่สามที่นิยม, clj-time, เพื่อแนวทางการทำงานกับ Clojure ที่เข้าใจง่ายขึ้น
การใช้งาน Java Interop
Clojure สามารถใช้ Java java.time.LocalDate
ในการแปลงวันที่จากสตริงโดยตรง:
(require '[clojure.java.io :as io])
; การแปลงวันที่โดยใช้ Java interop
(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
ไปยัง dependencies ของโปรเจ็กต์ของคุณเป็นอันดับแรก นี่คือวิธีการแปลงสตริงวันที่โดยใช้ 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 มากขึ้นพร้อมกับฟังก์ชันการทำงานเพิ่มเติมสำหรับความต้องการที่ซับซ้อน