Lua:
Einen Datum aus einem String analysieren

Wie:

Lua bietet keine eingebaute Unterstützung für die Manipulation von Datum und Zeit über die begrenzte Funktionalität der Funktionen os.date und os.time hinaus. Diese können jedoch für einfaches Parsen genutzt werden, und für komplexere Anforderungen kann die luadate Bibliothek, eine externe Bibliothek, verwendet werden.

Verwendung von os.date und os.time:

-- Ein für Menschen lesbares Datum in einen Zeitstempel umwandeln und zurück
local dateString = "2023-09-21 15:00:00"
local pattern = "(%d+)-(%d+)-(%d+) (%d+):(%d+):(%d+)"
local year, month, day, hour, minute, second = dateString:match(pattern)

local timestamp = os.time({
  year = year,
  month = month,
  day = day,
  hour = hour,
  min = minute,
  sec = second
})

-- Zeitstempel zurück in ein für Menschen lesbares Format umwandeln
local formattedDate = os.date("%Y-%m-%d %H:%M:%S", timestamp)
print(formattedDate)  -- Ausgabe: 2023-09-21 15:00:00

Verwendung von luadate (externe Bibliothek): Um luadate zu nutzen, stellen Sie sicher, dass es über LuaRocks oder Ihren bevorzugten Paketmanager installiert ist. luadate fügt umfangreiche Möglichkeiten zur Parsung und Manipulation von Datum und Zeit hinzu.

local date = require('date')

-- Ein Datumsstring direkt parsen
local parsedDate = date.parse("2023-09-21 15:00:00")
print(parsedDate:fmt("%Y-%m-%d %H:%M:%S"))  -- Ausgabe: 2023-09-21 15:00:00

-- Dauer hinzufügen
local oneWeekLater = parsedDate:adddays(7)
print(oneWeekLater:fmt("%Y-%m-%d %H:%M:%S"))  -- Ausgabe: 2023-09-28 15:00:00

Die luadate Bibliothek bietet eine intuitivere und leistungsfähigere Möglichkeit, mit Daten zu arbeiten, einschließlich dem Parsen aus Strings, Formatierung und arithmetischen Operationen an Daten, was das Arbeiten mit zeitlichen Daten in Lua erheblich vereinfacht.