Elixir:
השוואת שני תאריכים
איך לעשות:
# התקנת תלות עם הפקודה:
# mix deps.get {:timex, "~> 3.7"}
# ייבוא תלות
alias Timex
# יצירת שני תאריכים
date1 = ~D[2023-04-01]
date2 = ~D[2023-04-02]
# שוויון תאריכים ע"י Timex
Timex.compare(date1, date2) # יחזיר -1 אם date1 לפני date2
Timex.compare(date1, date1) # יחזיר 0 אם התאריכים זהים
Timex.compare(date2, date1) # יחזיר 1 אם date2 אחרי date1
הצלילה לתוך הנושא:
פעם, דבר כזה היה סיוט של השוואות ידניות של שנה, חודש ויום. היום יש לנו מודולים כמו Timex ב-Elixir שמפשטים את התהליך. ישנם אלטרנטיבות נוספות כמו Elixir’s Date module אבל Timex מציע יותר פעולות ויכולות פורמט. לגבי פרטי מימוש, Timex משתמש באיזון בין נוחות לביצועים ע"י שימוש במידע של זמנים מהמחשב וסיבוכיות של חישובי תאריכים.
ראה גם:
- Timex Documentation
- Elixir Date module
- פוסט בפורום Elixir Forum על שוויון תאריכים
- כתבה על יחסים בין תאריכים בספריית ה-JavaScript date-fns