Elm:
Päivämäärän jäsennys merkkijonosta
Kuinka:
Elm:llä ei ole sisäänrakennettua yhtä vahvaa kykyä päivämäärien jäsentämiseen kuin joillakin muilla kielillä, vaan se pääasiassa tukeutuu JavaScript-yhteentoimivuuteen tai kirjastoihin monimutkaisempia operaatioita varten. Kuitenkin voit käyttää elm/time
pakettia perusjäsentämiseen, ja monimutkaisempia tarpeita varten kolmannen osapuolen justinmimbs/date
kirjastoa suositellaan laajalti.
Jäsentäminen käyttäen elm/time
:
elm/time
tarjoaa Time
moduulin, jonka avulla voit työskennellä aikaleimojen kanssa ihmisen luettavien päivämäärien sijaan. Vaikka se ei suoraan jäsentää päivämääriä merkkijonoista, voit muuntaa ISO 8601 merkkijonon POSIX aikaleimaksi, jonka kanssa sitten voit työskennellä.
import Time exposing (Posix)
-- Oletetaan, että sinulla on ISO 8601 päivämäärämerkkijono
isoDateStr : String
isoDateStr = "2023-01-01T00:00:00Z"
-- Muunna se POSIX aikaleimaksi (tämä funktio palauttaa `Result`)
parsedDate : Result String Posix
parsedDate = Time.fromIsoString8601 isoDateStr
-- Esimerkkituloste: Ok <posix aika-arvo>
Jäsentäminen käyttäen justinmimbs/date
:
Monimutkaisempiin jäsentämisiin, kuten ei-ISO formaattien käsittelyyn, justinmimbs/date
kirjasto on erinomainen valinta. Tässä on miten voit käyttää sitä mukautetun päivämäärämerkkijonon jäsentämiseen:
- Varmista, että sinulla on kirjasto asennettuna:
elm install justinmimbs/date
- Käytä
Date.fromString
funktiota mukautettujen päivämääräformaattien jäsentämiseen:
import Date
import Result exposing (Result(..))
-- Sanotaan, että sinulla on mukautettu päivämäärämerkkijono formaatti `dd-MM-yyyy`
customDateStr : String
customDateStr = "01-01-2023"
-- Funktio mukautetun formaatin jäsentämiseen
parseDate : String -> Result String Date.Date
parseDate = Date.fromString "dd-MM-yyyy"
-- Esimerkkikäyttö
parsedCustomDate : Result String Date.Date
parsedCustomDate = parseDate customDateStr
-- Esimerkkituloste: Ok (Date.fromCalendarDate 2023 Jan 1)
Näissä esimerkeissä Result
tyyppi kapseloi joko onnistuneen jäsentämisen, joka tuottaa päivämäärän (Ok
) tai virheen (Err
), mahdollistaen vahvan virheenkäsittelyn Elm-sovelluksissasi.