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 ในรูปแบบที่เข้าใจได้อย่างกว้างขวาง โครงสร้างมีข้อมูลมากกว่าการแสดงในรูปแบบสตริง, ดังนั้นจงตระหนักว่าการแปลงกลับจากสตริงเป็นวันที่จะสูญเสียบริบทเพิ่มเติมนี้ไปนอกจากรหัสแนบอย่างเหมาะสม
ดูเพิ่มเติม
- โมดูลวันที่ของ Elixir: https://hexdocs.pm/elixir/Date.html
- เอกสาร Timex: https://hexdocs.pm/timex/readme.html
- รูปแบบ ISO8601: https://en.wikipedia.org/wiki/ISO_8601