Haskell:
Confronto tra due date
How to:
In Haskell, usiamo il modulo Data.Time
per lavorare con le date. Ecco come confrontarle:
import Data.Time
main :: IO ()
main = do
-- Definire due date
let date1 = fromGregorian 2023 3 14 -- 14 Marzo 2023
let date2 = fromGregorian 2023 10 31 -- 31 Ottobre 2023
-- Confrontare le date
print $ date1 < date2 -- True: date1 viene prima di date2
print $ date1 > date2 -- False: date1 non viene dopo date2
print $ date1 == date2 -- False: le date non sono uguali
Output:
True
False
False
Deep Dive
Il confronto delle date in Haskell non è una novità. Il modulo Data.Time
è parte della Haskell Platform da tempo. Altre alternative includono l’uso di librerie esterne, come thyme
o time-recurrence
, per gestire casi d’uso specifici. Scegli Data.Time
per la sua robustezza e integrazione con GHC (Glasgow Haskell Compiler).
Il confronto delle date si basa sull’implementazione del typeclass Ord
, che fornisce le funzioni <
, >
, <=
, >=
, ==
, e /=
. Quando definisci il tuo tipo di dato per le date, assicurati di istanziarlo con Ord
per sfruttare questi operatori.
See Also
- Per maggiori dettagli su
Data.Time
: Hackage - Data.Time - Documentazione di
thyme
: Hackage - Thyme - Guida alla Haskell Platform: Haskell Platform
- Tutorial su Haskell: Learn You a Haskell for Great Good!