การแปลงวันที่เป็นสตริง

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