Att hämta aktuellt datum

Elm:
Att hämta aktuellt datum

Hur man gör:

import Time
import Task
import Browser

type Msg = GotTime Time.Posix

getTime : Cmd Msg
getTime =
    Task.perform GotTime Time.now

main =
    Browser.element
        { init = \_ -> ( {}, getTime )
        , view = \_ -> Html.text ""
        , update = \msg -> \model -> (model, Cmd.none)
        , subscriptions = \_ -> Sub.none
        }

Körningsexempel (output varierar):

{ timestamp = 1615125600000 }

Fördjupning

I Elm hanteras tiden genom Time-modulen och den bygger på POSIX-tidsstandard. Tidigare kunde man få nuvarande datum genom att använda JavaScript, men nu görs det mer Elm-idiomatiskt genom att anropa Time.now. Alternativen inkluderar att använda externa paket eller att skicka in tiden från JavaScript via ports, men Time.now är standard och enkel. Vidare hanterar Elm tidszoner genom att omvandla all tid till UTC.

Se även