Elm:
Obliczanie daty w przyszłości lub przeszłości
Jak to zrobić:
import Time
import Date
-- Obliczanie daty 10 dni w przyszłości:
futureDate : Date.Date -> Date.Date
futureDate date =
Date.add Date.Day 10 date
-- Obliczanie daty 5 lat wstecz:
pastDate : Date.Date -> Date.Date
pastDate date =
Date.add Date.Year -5 date
-- Przykład:
today = Date.fromTime (Time.millisToPosix 1622505600000) -- Przyjmujemy, że dziś jest 1 czerwca 2021
tomorrow = futureDate today
-- Date.fromTime (Time.millisToPosix 1622592000000) --> 11 czerwca 2021
fiveYearsAgo = pastDate today
-- Date.fromTime (Time.millisToPosix 1464825600000) --> 2 czerwca 2016
Głębsze spojrzenie
Obliczanie daty w przyszłości lub przeszłości nie jest nową potrzebą – znajduje się w historii technologii od momentu, gdy systemy zaczęły wykorzystywać cykle czasowe. W Elm, podobnie jak w innych językach, istnieje wbudowana biblioteka Date
, która ułatwia takie działania. Alternatywy obejmują użycie zewnętrznych pakietów, jak elm-time-travel
, które mogą oferować więcej funkcji. W implementacji kluczowe jest dokładne rozumienie, jak biblioteka obchodzi się z przestępnymi sekundami, strefami czasowymi i innymi niuansami związanymi z czasem.
Zobacz również
- Oficjalna dokumentacja Elm dla pakietu Date
- ISO 8601 na Wikipedia – standard formatowania i obliczania czasu używany w wielu technologiach, w tym w Elm.