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.