Lua:
Beregning av en dato i fremtiden eller fortiden
Hvordan:
os.time() -- Gir nåværende tidspunkt som et timestamp.
-- Beregn en dato 7 dager frem i tid
local en_uke_fra_na = os.time() + (7 * 24 * 60 * 60)
-- Konverterer timestamp til en lesbar dato
print(os.date("%Y-%m-%d", en_uke_fra_na))
-- Beregn en dato 30 dager tilbake i tid
local tretti_dager_tilbake = os.time() - (30 * 24 * 60 * 60)
print(os.date("%Y-%m-%d", tretti_dager_tilbake))
Sample output:
2023-05-07 -- En uke fra nå hvis dagens dato er 2023-04-30.
2023-03-31 -- Tretti dager tilbake hvis dagens dato er 2023-04-30.
Dybde:
Før os.time()
ble alminnelig i programmeringsspråk, var dato-beregninger tungvinte og feilutsatte. Alternativer inkluderer bruk av tredjeparts biblioteker som luadate
som gir mer funksjonalitet for dato-håndtering. Implementeringsdetaljer involverer forståelse av Unix-tid, som er antall sekunder siden 1. januar 1970 (kjent som epoch tid), som os.time()
returnerer. Å forstå tidssoner og skuddår er også viktig ved dato-beregninger for å sikre riktig logikk.
Se Også:
- Lua 5.4 reference manual for detaljert informasjon om
os
biblioteket. - luadate GitHub for mer avanserte dato-håndtering funksjoner.
- Unix Time Stamp for en real-time sekundteller siden epoch.