Berechnung eines zukünftigen oder vergangenen Datums
Elixir:
Berechnung eines zukünftigen oder vergangenen Datums
How to:
Elixir macht Datumskalkulation einfach mit dem Date
Modul. Hier ist, wie du es machst:
# Aktuelles Datum
aktuelles_datum = Date.utc_today()
# Datum in 10 Tagen
zukunft_datum = Date.add(aktuelles_datum, 10)
IO.puts(zukunft_datum)
# Datum vor 5 Tagen
vergangenheit_datum = Date.add(aktuelles_datum, -5)
IO.puts(vergangenheit_datum)
Beispiel Output:
2024-04-10
2024-03-26
Benutze NaiveDateTime.add/4
, wenn du auch Zeit berücksichtigen möchtest:
aktuelle_zeit = NaiveDateTime.utc_now()
# 1000 Sekunden in die Zukunft
zukunft_zeit = NaiveDateTime.add(aktuelle_zeit, 1_000)
IO.puts(zukunft_zeit)
# 3600 Sekunden (1 Stunde) in der Vergangenheit
vergangenheit_zeit = NaiveDateTime.add(aktuelle_zeit, -3_600)
IO.puts(vergangenheit_zeit)
Deep Dive:
Die Datumsberechnung gab es schon in frühen Programmiersprachen. In Elixir macht es das eingebaute Date
Modul leicht. Für komplexere Berechnungen gibt es Third-Party Libraries wie Timex
, die zusätzliche Funktionalitäten bieten. Wichtig ist die Zeitzone – Date
rechnet ohne Zeitzonen, während DateTime
und NaiveDateTime
UTC verwenden. Zeitberechnung ist wegen Schaltsekunden und Zeitumstellungen komplex. Deshalb sollten Operationen auf Daten und Zeiten vermieden werden, die ohne den Kontext der Zeitzone stattfinden.