Ottenere la data corrente

Elm:
Ottenere la data corrente

How to:

In Elm, per ottenere la data attuale usiamo il modulo Time. Ecco come:

import Time
import Browser

-- Inizializza un'applicazione Elm che ottiene il tempo attuale.
main =
    Browser.element
        { init = init
        , view = view
        , update = update
        , subscriptions = subscriptions
        }

-- Modello per mantenere il tempo attuale (in millisecondi).
type alias Model = Time.Posix

-- Inizializza il modello con il tempo attuale.
init : () -> (Model, Cmd Msg)
init _ =
    (Time.millisToPosix 0, Time.now |> Task.perform NewTime)

-- Vista che mostra la data attuale.
view : Model -> Html.Html Msg
view model =
    Html.text (String.fromInt (Time.posixToMillis model))

-- Aggiornamenti basati sui messaggi ricevuti.
type Msg = NewTime Time.Posix

update : Msg -> Model -> (Model, Cmd Msg)
update (NewTime newTime) _ =
    (newTime, Cmd.none)

-- Iscrizioni per aggiornamenti del tempo.
subscriptions : Model -> Sub Msg
subscriptions _ =
    Time.every 1000 (NewTime << Time.millisToPosix)

Il codice qui sopra configura un’applicazione che aggiorna e visualizza la data attuale ogni secondo.

Deep Dive

Elm gestisce date e ore tramite il modulo Time. Punto di riferimento è l’Unix Epoch (1 gennaio 1970). Alternative a Time in Elm includono librerie esterne come elm-time o elm-datepicker per funzionalità specifiche legate alle date.

Elm gestisce il tempo in modo funzionale e con un forte tipo di sicurezza, quindi lavorare con le date può essere meno soggetto a errori rispetto ad altri linguaggi. Tuttavia, Elm non offre una libreria di manipolazione della data altrettanto ricca come per esempio moment.js in JavaScript, quindi per alcune operazioni potrebbe essere necessario più codice.

See Also