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