Elm:
การแปลงวันที่เป็นสตริง
วิธีการ:
ใน Elm, คุณใช้โมดูล Date
เพื่อทำงานกับวันที่ และแพ็คเกจ elm/time
ให้ฟังก์ชันในการแปลงวันที่เป็นสตริง มาดูโค้ด Elm กัน:
import Time exposing (Posix)
import Date
-- สมมติว่าเรามีเวลาในรูปแบบ Posix
posixTime : Posix
posixTime = Time.millisToPosix 1672569600000
-- แปลง Posix เป็น Date
date : Date.Date
date = Date.fromPosix posixTime
-- จัดรูปแบบวันที่เป็นสตริง
dateToString : String
dateToString = Date.toIsoString date
-- ผลลัพธ์
dateToString --> "2023-01-01T00:00:00.000Z"
บรรทัด Date.toIsoString date
คือส่วนที่ทำให้การเปลี่ยนค่า Date.Date
ของคุณเป็นสตริงที่จัดรูปแบบตาม ISO 8601
ลงลึกซึ้ง
ตามประวัติศาสตร์, วิธีการจัดการวันที่และเวลาใน Elm ได้วิวัฒนาการตามภาษา โดยมีจุดมุ่งหมายเพื่อความแม่นยำและความสอดคล้องมากขึ้น ด้วยการใช้แพ็คเกจ elm/time
, Elm ทำให้กระบวนการจัดการเวลาเป็นเรื่องง่ายยิ่งขึ้น
ทางเลือกในการแปลงวันที่ รวมถึงการใช้ตัวกำหนดรูปแบบที่กำหนดเองหากคุณต้องการวิธีการแสดงวันที่ที่เฉพาะเจาะจง โมดูล Date
เองไม่ได้เสนอตัวเลือกรูปแบบที่กว้างขวาง หมายความว่าหากคุณต้องการบางอย่างที่ไม่ได้อยู่ในรูปแบบ ISO 8601 คุณจะหันไปใช้แพ็คเกจของชุมชน เช่น justinmimbs/date
เพื่อความยืดหยุ่นในการกำหนดรูปแบบมากขึ้น
ในแง่ของการดำเนินการ, เมื่อคุณกำลังแปลงวันที่เป็นสตริงใน Elm, คุณกำลังจัดการกับเขตเวลาโดยอัตโนมัติ Elm แสดงวันที่ใน UTC โดยค่าเริ่มต้น ซึ่งหมายความว่า ไม่มีการเปลี่ยนแปลงเวลาอย่างไม่คาดคิดเมื่อแปลง ยกเว้นว่าคุณจัดการกับเขตเวลาด้วยตรรกะเพิ่มเติมโดยเจาะจง การเลือกออกแบบนี้มีจุดมุ่งหมายเพื่อลดข้อผิดพลาดและความไม่สอดคล้อง โดยเฉพาะเมื่อมีการจัดการกับเซิร์ฟเวอร์และไคลเอ็นต์ในเขตเวลาที่แตกต่างกัน
ดูเพิ่มเติม
- แพ็คเกจ
Time
ของ Elm: Elm Time - การกำหนดรูปแบบวันที่ของชุมชน: justinmimbs/date
- คู่มือวันที่ของ Elm: Elm Guide - Time