Ruby:
השוואת שתי תאריכים
איך לעשות:
require 'date'
# יצירת שני אובייקטים מסוג Date
date1 = Date.new(2023, 3, 14)
date2 = Date.new(2023, 5, 28)
# השוואה לפי מי מוקדם יותר
if date1 < date2
puts "date1 is earlier"
elsif date1 > date2
puts "date2 is earlier"
else
puts "The dates are the same"
end
פלט דוגמא:
date1 is earlier
צלילה לעומק:
להשוות תאריכים היא פעולה שמורכבת מהשוואת השנים, החודשים והימים באופן סדרתי. חשוב לזכור, עד Ruby 1.9, הייתה צורך לדאוג ליצירת אובייקטי Time
או DateTime
, אבל כיום מומלץ להשתמש במחלקת Date
לפשטות וקונסיסטנטיות. חלופות כוללות ספריות חיצוניות כמו ‘ActiveSupport’ מ-Rails, המאפשרת השוואת תאריכים באמצעות הוספת ימים או חודשים ישירות לאובייקטי Date
וTime
.
ראה גם:
- תיעוד Ruby על מחלקת Date
- גמר הסבר על
ActiveSupport
Time Extensions - כיצד להשתמש ב-DateTime להשוואות מתקדמות יותר