Het huidige datum ophalen

Elm:
Het huidige datum ophalen

Hoe:

Elm behandelt datums met de Time module. Je krijgt de huidige tijd als een POSIX-tijdstempel, die je dan omzet naar een datum.

import Browser
import Task
import Time

type Msg = GetCurrentTime Time.Posix

update : Msg -> Model -> (Model, Cmd Msg)
update msg model =
    geval msg van
        GetCurrentTime posixTime ->
            laat
                -- Zet POSIX tijd om naar een datadatum record
                datum = Time.toDate posixTime
            in
            -- Update je model dienovereenkomstig hier
            ({ model | date = datum }, Cmd.none)

-- Om het verkrijgen van de huidige tijd te initiëren
getCurrentTime : Cmd Msg
getCurrentTime =
    Task.perform GetCurrentTime Time.now

-- Voorbeeld output:
-- datum { jaar = 2023, maand = Mrt, dag = 26 }

Diepgaande duik

In oudere webtalen is het verkrijgen van de datum een kwestie van een regel code. Elm is anders. Het maakt neveneffecten zoals het verkrijgen van de huidige tijd expliciet door de Elm Architectuur. Dit moedigt zuiverheid en onderhoudbaarheid van de code aan.

Alternatieven zijn het gebruik van pakketten van derden of het afhandelen van datums in je servercode en deze doorgeven aan Elm via flags of poorten.

Wat implementatie betreft, krijgt Elm’s Time.now de tijd als een POSIX-tijdstempel (milliseconden sinds het Unix-tijdperk). Dit is onafhankelijk van tijdzones, en je kunt het naar wens formatteren met behulp van functies uit de Time module.

Zie ook