Haskell:
Porównywanie dwóch dat
How to:
Do porównania dat w Haskellu możemy użyć modułu Data.Time. Oto przykład:
import Data.Time
compareDates :: IO ()
compareDates = do
let date1 = fromGregorian 2023 3 15 -- 15 marzec 2023
let date2 = fromGregorian 2023 4 1 -- 1 kwiecień 2023
print $ compare date1 date2 -- LT
print $ date1 < date2 -- True
print $ date1 == date2 -- False
print $ date1 > date2 -- False
main :: IO ()
main = compareDatesDeep Dive
Porównywanie dat to klasyczne zadanie. W Haskellu, Data.Time jest standardowym modułem do zarządzania czasem, który dostarcza m.in. typ Day dla dat bez czasu. Alternatywnie, możemy użyć Data.Calendar lub zewnętrzne biblioteki jak time czy chronos. Ważne jest, że Day ma instancję klasy Ord, co umożliwia używanie <, > czy == do porównywania.