Slik får du tak i dagens dato

Elm:
Slik får du tak i dagens dato

How to:

Elm har ikke innebygd dato-behandling, så du må bruke elm/time biblioteket. Her er et eksempel på hvordan du kan få den nåværende datoen:

import Time
import Task
import Browser

type Msg = Tick Time.Posix

main =
    Browser.element
        { init = init
        , update = update
        , view = view
        , subscriptions = subscriptions
        }

init : () -> ( (), Cmd Msg )
init _ =
    ( (), Task.perform Tick Time.now )

update : Msg -> model -> ( model, Cmd Msg )
update (Tick currentTime) model =
    ( model, Cmd.none )

view : model -> Html.Html Msg
view model =
    -- Gjerne legg til kode her for hvordan du vil vise datoen på skjermen.
    Html.text "Her ville den nåværende datoen dukke opp"

subscriptions : model -> Sub Msg
subscriptions model =
    Time.every 1000 Tick -- Oppdaterer hver sekund.

Dette koden vil kjøre en Tick melding hver sekund med den nåværende datoen som Time.Posix verdi.

Deep Dive

Elm er et funksjonelt språk som standardiserer håndteringen av tid gjennom elm/time biblioteket. Hvis du kommer fra JavaScript-verdenen, er det verdt å merke seg at Elm behandler sideeffekter, som å hente nåværende dato, annerledes. Innføring av elm/time var en måte å gi Elm ren tidshåndtering samtidig som språket holder seg funksjonelt og forutsigbart.

Tidligere tilnærminger, som Date i JS, har mange bivirkninger og inkonsistenser. Elm forenkler dette ved å introdusere Time.Posix, som representerer tidspunkter i den såkalte POSIX formatet (antall millisekunder siden midnatt, 1. januar 1970 UTC).

Det finnes også alternativer til elm/time for mer kompleks dato-håndtering, som justinmimbs/date for Elm, som utvider funksjonaliteten for å inkludere operasjoner på kalenderdatoer.

See Also