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

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 เป็นตัวเลือกที่ดี นี่คือวิธีการใช้งานเพื่อแยกวิเคราะห์สตริงวันที่ที่กำหนดเอง:

  1. ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไลบรารี:
elm install justinmimbs/date
  1. ใช้ฟังก์ชัน 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 ของคุณเป็นไปอย่างแข็งแกร่ง