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