Elixir:
Tulevaisuuden tai menneisyyden päivämäärän laskeminen
How to:
Elixirissä päivämäärien kanssa työskentely onnistuu Date-moduulin avulla. Katsotaan esimerkkiä:
# Nykyinen päivämäärä
current_date = Date.utc_today()
# Viiden päivän kuluttua
five_days_later = Date.add(current_date, 5)
IO.inspect(five_days_later)
# Kolme päivää sitten
three_days_ago = Date.add(current_date, -3)
IO.inspect(three_days_ago)Sample output:
~D[2023-03-14]
~D[2023-03-06]Deep Dive
Päivämäärien laskenta Elixirissä liittyy suoraan Erlangin aikakirjastoon. Historiallisesti, päivämäärien käsittely monissa kielissä on ollut monimutkaista. Elixirin Date-moduuli yksinkertaistaa tätä käyttäen hyväksi Erlangin vakaita toimintoja.
Vaihtoehtoisia kirjastoja, kuten Timex, tarjoavat vielä laajempia ominaisuuksia, mutta perustoiminnot löytyvät suoraan Elixirstä. Moduulissa käytetään :calendar Erlang-moduulin toimintoja ja se tukee ISO 8601 -standardia, joka on kansainvälisesti tunnustettu päivämäärien esittämisen standardi.
Date.add/2-funktio ottaa päivämäärän ja lisää siihen (tai vähentää, jos luku on negatiivinen) halutun määrän päiviä. Date.utc_today/0 palauttaa nykyisen UTC-päivämäärän.
See Also
- Elixirin virallinen dokumentaatio
Date-moduulista: https://hexdocs.pm/elixir/Date.html - Lisätiedot ISO 8601 -standardista: https://en.wikipedia.org/wiki/ISO_8601
Timex-kirjasto vaihtoehtoisia aikakäsittelyfunktioita varten: https://hex.pm/packages/timex