Haskell:
חישוב תאריך בעתיד או בעבר
איך לעשות:
import Data.Time
-- הוספת ימים לתאריך נתון
addDaysToCurrentDate :: Integer -> IO ()
addDaysToCurrentDate days = do
today <- getCurrentTime
let futureDate = addDays days (utctDay today)
putStrLn $ "התאריך בעוד " ++ show days ++ " ימים יהיה: " ++ show futureDate
-- ניצול הפונקציה
main :: IO ()
main = addDaysToCurrentDate 10
פלט דוגמא:
התאריך בעוד 10 ימים יהיה: 2023-04-23
צלילה לעומק:
ב-Haskell, חישוב תאריך בעתיד או העבר מתבצע בעזרת ה-library Data.Time
, שמספקת פונקציות לטיפול בתאריכים ובזמנים. לפני מציאת ספריות כאלו, תכנותים נאלצו לטפל בעצמם בסיבוכיות של לוחות שנה וליקויים. חלופות כוללות שימוש בפונקציות של המערכת הפעלה או ספריות צד-שלישי. חשוב לזכור שתאריכים ושעות הם רגישים לאזור זמן ולשינויים של שעון קיץ/חורף.
ראו גם:
- המדריך הרשמי לספרית
Data.Time
- תיעוד Haskell על עבודה עם Time Zones: https://hackage.haskell.org/package/time-1.12/docs/Data-Time-LocalTime.html