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

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

วิธีการ:

ใน Elixir, โมดูล Date มีฟังก์ชัน to_string/1 ที่แปลงวันที่เป็นสตริง

date = ~D[2023-03-14]
date_string = Date.to_string(date)
IO.puts(date_string)  # "2023-03-14"

สำหรับการจัดรูปแบบที่กำหนดเองมากขึ้น คุณสามารถใช้ Timex:

{:ok, datetime} = DateTime.new(~D[2023-03-14], {0, 0, 0})
formatted_date = Timex.format!(datetime, "{YYYY}-{0M}-{0D}")
IO.puts(formatted_date)  # "2023-03-14"

ความรู้ลึก

ก่อน Elixir 1.3, การจัดการวันที่และเวลาเป็นเรื่องที่ยุ่งยากและพึ่งพาไลบรารีของบุคคลที่สาม ด้วยเวอร์ชัน 1.3 และหลังจากนั้น Elixir ได้รวมโมดูล Date, Time, และ DateTime เพื่อการจัดการวันที่และเวลาที่ดีขึ้น

เมื่อคุณต้องการการจัดรูปแบบที่เกินกว่ามาตรฐาน ISO8601 ให้พิจารณาใช้ไลบรารี Timex, แพ็คเกจใน Elixir ที่ให้ประสบการณ์การจัดการวันที่และเวลาอย่างครบถ้วน

การแปลงเป็นสตริงไม่ใช่เรื่องวิเศษอะไร มันเกี่ยวกับการแสดง Date struct ในรูปแบบที่เข้าใจได้อย่างกว้างขวาง โครงสร้างมีข้อมูลมากกว่าการแสดงในรูปแบบสตริง, ดังนั้นจงตระหนักว่าการแปลงกลับจากสตริงเป็นวันที่จะสูญเสียบริบทเพิ่มเติมนี้ไปนอกจากรหัสแนบอย่างเหมาะสม

ดูเพิ่มเติม