Elixir:
เปรียบเทียบสองวันที่
วิธีการ:
Elixir ทำให้การเปรียบเทียบวันที่เป็นเรื่องง่าย นี่คือตัวอย่างในการเปรียบเทียบวันนี้กับวันพรุ่งนี้:
{:ok, today} = Date.new(2023, 4, 1)
{:ok, tomorrow} = Date.new(2023, 4, 2)
# การเปรียบเทียบว่าเหมือนกัน
Date.compare(today, today) # => :eq
# ผลลัพธ์: :eq (เท่ากัน)
# วันไหนเกิดก่อน?
Date.compare(today, tomorrow) # => :lt
# ผลลัพธ์: :lt (น้อยกว่า)
# วันไหนเกิดหลัง?
Date.compare(tomorrow, today) # => :gt
# ผลลัพธ์: :gt (มากกว่า)
การศึกษาเพิ่มเติม
ในอดีต, การเปรียบเทียบวันที่ไม่เสมอเป็นคุณลักษณะที่มีให้ในภาษาโปรแกรมและโปรแกรมเมอร์อาจต้องคำนวณความแตกต่างเองเป็นวินาทีหรือวัน Elixir มีไลบรารีมาตรฐาน อย่างไรก็ตาม รวมถึงโมดูล Date
พร้อมกับฟังก์ชัน compare/2
ที่ทำให้งานนี้ง่ายขึ้น
มีทางเลือกสำหรับการจัดการเวลาที่ลึกลงไปใน Elixir เช่นการใช้โมดูล DateTime
เพื่อการเปรียบเทียบเวลาที่แม่นยำยิ่งขึ้นไปจนถึงวินาทีหรือไมโครวินาที
เมื่อเปรียบเทียบวันที่, Elixir พิจารณาถึงความซับซ้อนของระบบปฏิทิน มันจัดการกับปีอธิกสุรทิน, ความยาวเดือนที่ต่างกัน, และประเภทปฏิทินที่ต่างกัน, โดยพึ่งพาโมดูล :calendar
ของ Erlang เพื่อให้มั่นใจว่ามีความแม่นยำ
ดูเพิ่มเติม
- วิธีใช้งานโมดูล Date ของ Elixir: https://hexdocs.pm/elixir/Date.html
- โมดูล calendar ของ Erlang: http://erlang.org/doc/man/calendar.html
- Timex - ไลบรารีของ Elixir สำหรับวันที่และเวลา: https://hexdocs.pm/timex/Timex.html