Elm:
Comparer deux dates
How to:
Comparons deux dates en Elm. Utilisons le module Date
fourni par elm/time
.
import Time exposing (Posix)
import Date
-- Créons deux dates
date1 : Posix
date1 =
Date.fromIsoString "2023-03-01T00:00:00Z"
|> Result.withDefault (Date.fromMillis 0)
date2 : Posix
date2 =
Date.fromIsoString "2023-03-10T00:00:00Z"
|> Result.withDefault (Date.fromMillis 0)
-- Comparons-les
compareDates : Posix -> Posix -> Comparison
compareDates d1 d2 =
Date.compare d1 d2
-- Résultat de la comparaison
compareResult : Comparison
compareResult = compareDates date1 date2
-- Affichons le résultat
case compareResult of
LT -> "La première date est plus tôt que la deuxième."
EQ -> "Les deux dates sont identiques."
GT -> "La première date est plus tard que la deuxième."
Si vous tournez ce code, vous verrez:
"La première date est plus tôt que la deuxième."
Deep Dive
Comparer des dates en Elm est direct grâce au module Date
. Historiquement, la gestion du temps en programmation est dure, en raison des fuseaux horaires et des formats de dates divers. Elm simplifie cela. Il y a d’autres options comme les librairies elm-time
ou l’utilisation de fonctions personnalisées, mais elm/time
est standard et robuste. Le module utilise Posix
, qui représente le temps universel coordonné (UTC). En Elm, la comparaison se fait par rapport à ce temps UTC, ce qui évite les complications des fuseaux horaires.
See Also
Pour plus d’infos sur la gestion du temps en Elm :
- Documentation officielle de
elm/time
: package.elm-lang.org/packages/elm/time/latest - Discours sur la gestion du temps et dates en programmation : qz.com/work/1106603