Lua:
Vergleich von zwei Daten

Anleitung:

os = require("os")

-- Zwei Datum-Strings im ISO 8601 Format: Jahr-Monat-Tag
local datum1 = "2023-04-01"
local datum2 = "2023-04-15"

-- Umwandlung der Strings in Zeitstempel
local zeitstempel1 = os.time({year=datum1:sub(1,4), month=datum1:sub(6,7), day=datum1:sub(9,10)})
local zeitstempel2 = os.time({year=datum2:sub(1,4), month=datum2:sub(6,7), day=datum2:sub(9,10)})

-- Vergleich der Zeitstempel
if zeitstempel1 > zeitstempel2 then
    print(datum1 .. " ist nach " .. datum2)
elseif zeitstempel1 < zeitstempel2 then
    print(datum1 .. " ist vor " .. datum2)
else
    print(datum1 .. " ist gleich " .. datum2)
end

Beispielausgabe:

2023-04-01 ist vor 2023-04-15

Vertiefung:

Früher, als Computer noch in Kinderjahren steckten, gab es unterschiedlichste Methoden, um Daten zu vergleichen – oft komplexe, eigene Implementierungen. Heute nutzen wir eingebaute Libs wie os.time, die die Hürden beseitigen. Alternativ könnten wir auch die os.difftime Funktion verwenden, um die Sekundendifferenz zwischen zwei Zeitstempeln zu erreichen. Intern behandelt Lua Datum und Zeit als Sekunden seit der Epoche (1. Januar 1970), was den Vergleich wesentlich vereinfacht.

Siehe auch: