Elm:
Porównywanie dwóch dat

How to: (Jak to zrobić:)

import Time exposing (Posix)
import Time.Extra exposing (compare)

dateComparison : Posix -> Posix -> Order
dateComparison date1 date2 =
    compare date1 date2

-- Przykład użycia:
date1 : Posix
date1 =
    Time.millisToPosix 1588291200000

date2 : Posix
date2 =
    Time.millisToPosix 1588377600000

-- Sprawdzamy, która data jest wcześniejsza
result : Order
result =
    dateComparison date1 date2

-- Wyświetl wynik:
-- LT oznacza, że date1 jest wcześniejsza niż date2
-- EQ oznacza, że daty są równe
-- GT oznacza, że date1 jest późniejsza niż date2

Deep Dive (Dogłębna analiza):

Historia Elm i obsługi czasu w językach funkcyjnych ma swoje korzenie w Haskellu, z którego funkcjonalności i typowości czerpie Elm. Alternatywnie, można porównywać daty przekształcając je na liczby typu Int (timestamp), ale traci się informacje o strefach czasowych. Kiedy używamy Time.Extra.compare, Elm porównuje wartości Posix uwzględniając te czynniki, zapewniając precyzyjne i unikatowe wyniki porównań.

See Also (Zobacz również):