Een datum uit een string parsen

Lua:
Een datum uit een string parsen

Hoe:

Lua heeft geen ingebouwde datum-parser, maar je kunt de klus klaren met os.time en patroonherkenning. Stel je hebt een datum als string date_str en je wilt het omzetten naar een tabel die Lua kan verwerken:

local date_str = "2023-04-05" -- ISO 8601 formaat
local pattern = "(%d+)-(%d+)-(%d+)"
local jaar, maand, dag = date_str:match(pattern)
local datum_tabel = {year = jaar, month = maand, day = dag}

print(os.time(datum_tabel)) -- Voorbeeld output: 1679785200

En zo is je datum, geparsed en klaar!

Diepere Duik

Lua is vrij minimalistisch, dus voor het parsen van datums moet je vaak je eigen oplossing verzinnen of een bibliotheek gebruiken. Historisch gezien was het omgaan met datums in Lua meestal handmatig, met string patroonherkenning en de os.date en os.time functies.

Als je het wiel niet opnieuw wilt uitvinden, bekijk dan bibliotheken zoals Penlight of date.lua. Deze bieden je meer flexibiliteit en kracht bij het omgaan met datums.

Wat implementatie betreft, onthoud dat Lua’s patroonherkenning geen regex is; het is eenvoudiger en soms betekent dat iets meer werk om complexe datumformaten te parsen. Test je patronen altijd grondig!

Zie Ook