การแยกวันที่ออกจากสตริง

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 มากขึ้นพร้อมกับฟังก์ชันการทำงานเพิ่มเติมสำหรับความต้องการที่ซับซ้อน