Elm:
การแยกวันที่ออกจากสตริง
วิธีการ:
Elm ไม่มีความสามารถภายในตัวที่แข็งแกร่งเท่ากับภาษาอื่น ๆ สำหรับการแยกวิเคราะห์วันที่ โดยพึ่งพาการทำงานร่วมกับ Javascript หรือไลบรารีสำหรับการดำเนินการที่ซับซ้อนยิ่งขึ้น อย่างไรก็ตาม คุณสามารถใช้แพ็กเกจ elm/time
สำหรับการแยกวิเคราะห์พื้นฐานได้ และสำหรับความต้องการที่ซับซ้อนยิ่งขึ้น ไลบรารีของบุคคลที่สามอย่าง justinmimbs/date
ได้รับการแนะนำอย่างกว้างขวาง
การแยกวิเคราะห์โดยใช้ elm/time
:
elm/time
ให้โมดูล Time
ซึ่งช่วยให้คุณสามารถทำงานกับเวลาแบบ timestamp แทนวันที่ที่อ่านได้โดยมนุษย์ ถึงแม้ว่ามันจะไม่สามารถแยกวิเคราะห์วันที่จากสตริงโดยตรง คุณสามารถแปลงสตริง ISO 8601 เป็น timestamp POSIX ซึ่งจากนั้นคุณสามารถทำงานกับมันได้
import Time exposing (Posix)
-- สมมติว่าคุณมีสตริงวันที่ ISO 8601
isoDateStr : String
isoDateStr = "2023-01-01T00:00:00Z"
-- แปลงเป็น timestamp POSIX (ฟังก์ชันนี้ส่งคืน `Result`)
parsedDate : Result String Posix
parsedDate = Time.fromIsoString8601 isoDateStr
-- ผลลัพธ์ตัวอย่าง: Ok <posix time value>
การแยกวิเคราะห์โดยใช้ justinmimbs/date
:
สำหรับการแยกวิเคราะห์ที่ซับซ้อน เช่น การจัดการกับรูปแบบที่ไม่ใช่ ISO justinmimbs/date
เป็นตัวเลือกที่ดี นี่คือวิธีการใช้งานเพื่อแยกวิเคราะห์สตริงวันที่ที่กำหนดเอง:
- ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไลบรารี:
elm install justinmimbs/date
- ใช้ฟังก์ชัน
Date.fromString
เพื่อแยกวิเคราะห์รูปแบบวันที่ที่กำหนดเอง:
import Date
import Result exposing (Result(..))
-- สมมุติว่าคุณมีรูปแบบสตริงวันที่กำหนดเอง `dd-MM-yyyy`
customDateStr : String
customDateStr = "01-01-2023"
-- ฟังก์ชันเพื่อแยกวิเคราะห์รูปแบบที่กำหนด
parseDate : String -> Result String Date.Date
parseDate = Date.fromString "dd-MM-yyyy"
-- ตัวอย่างการใช้งาน
parsedCustomDate : Result String Date.Date
parsedCustomDate = parseDate customDateStr
-- ผลลัพธ์ตัวอย่าง: Ok (Date.fromCalendarDate 2023 Jan 1)
ในตัวอย่างเหล่านี้ ประเภท Result
ทำหน้าที่บรรจุทั้งผลการแยกวิเคราะห์ที่ประสบความสำเร็จซึ่งให้ผลเป็นวันที่ (Ok
) หรือข้อผิดพลาด (Err
) ช่วยให้การจัดการข้อผิดพลาดในแอปพลิเคชัน Elm ของคุณเป็นไปอย่างแข็งแกร่ง