Rekenen met tijd
Tel tijden op en vergelijk ze.
Rekenen met tijd is een gratis Lua Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Lua Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Lua Academy bevat in totaal 4 lessen.
Tijd is alleen maar getallen
Omdat os.time gewone seconden teruggeeft, bestaat rekenen met datums grotendeels uit normale rekenkunde. Tel seconden op om vooruit te gaan en trek ze af om terug te kijken.
In deze les leer je tijden verschuiven, ze vergelijken en het verschil tussen twee tijdstippen bepalen.
Seconden in een minuut, uur en dag
Onthoud voor grotere eenheden de basiswaarden: 60 seconden in een minuut, 3600 in een uur en 86400 in een dag.
Door met deze vaste waarden te vermenigvuldigen, kun je elke tijdsduur in seconden uitdrukken.
print("Minute:", 60)
print("Hour:", 60 * 60)
print("Day:", 24 * 60 * 60)Eén uur later
Neem os.time() en tel er 3600 seconden bij op om het tijdstip over één uur te krijgen.
Geef het nieuwe getal door aan os.date om het resultaat als leesbare tekst te bekijken.
local now = os.time()
local later = now + 3600
print(os.date("%H:%M", now))
print(os.date("%H:%M", later))Gisteren en morgen
Tel 86400 seconden op om een dag vooruit te gaan of trek ze af om een dag terug te gaan.
Zo kun je snel de datum van morgen of gisteren berekenen zonder je zorgen te maken over maandgrenzen.
local now = os.time()
print("Yesterday:", os.date("%Y-%m-%d", now - 86400))
print("Tomorrow: ", os.date("%Y-%m-%d", now + 86400))Een specifieke datum maken
Begin een berekening vanaf een vaste datum door die met een tabel te maken. Hier maken we Nieuwjaarsdag 2025 en tellen we daarna een week op.
De toegevoegde tijd komt correct uit op 8 januari.
local start = os.time({year=2025, month=1, day=1})
local week = start + 7 * 86400
print(os.date("%Y-%m-%d", week))Twee tijdstippen vergelijken
Omdat tijdstippen getallen zijn, werken de normale vergelijkingsoperatoren. Een groter getal betekent een later tijdstip.
Zo kun je eenvoudig controleren of het uiterste tijdstip is verstreken.
local deadline = os.time({year=2020, month=1, day=1})
local now = os.time()
if now > deadline then
print("Deadline has passed")
endVerschil in seconden
Als je het ene tijdstip van het andere aftrekt, krijg je het verschil in seconden. Lua biedt ook os.difftime(a, b), dat a - b als getal teruggeeft.
os.difftime gebruiken is de overdraagbare en aanbevolen manier om een tijdsinterval te bepalen.
local a = os.time({year=2025, month=1, day=2})
local b = os.time({year=2025, month=1, day=1})
print(os.difftime(a, b))Seconden omrekenen naar dagen
Een tijdverschil in seconden is groot, dus deel het om een handiger eenheid te krijgen. Deel door 86400 voor dagen of door 3600 voor uren.
Gebruik math.floor om het gebroken deel te verwijderen als je alleen hele eenheden wilt.
local diff = os.difftime(
os.time({year=2025, month=1, day=11}),
os.time({year=2025, month=1, day=1}))
print(diff / 86400, "days")Dagen tot een gebeurtenis
Combineer deze ideeën om af te tellen naar een toekomstige datum. Trek nu af van het doelmoment en reken de seconden vervolgens om naar hele dagen.
Dit patroon vormt de basis van afteltimers en herinneringsapps.
local target = os.time({year=2030, month=1, day=1})
local secs = os.difftime(target, os.time())
local days = math.floor(secs / 86400)
print("Days left:", days)Normaliseren met os.time
Een handige truc: geef os.time een tabel met een veld buiten het geldige bereik, dan corrigeert de functie dat. Dag 32 van januari wordt 1 februari.
Zo kun je dagen toevoegen door eenvoudig het veld day te verhogen, waarna Lua de kalenderberekening uitvoert.
local t = os.time({year=2025, month=1, day=32})
print(os.date("%Y-%m-%d", t))Veilig een maand toevoegen
Dankzij normalisatie kun je het veld month voorbij 12 verhogen, waarna Lua het jaar doorschuift.
Maand 13 van 2025 wordt automatisch januari 2026.
local t = os.time({year=2025, month=13, day=1})
print(os.date("%Y-%m-%d", t))Korte controle
Pas je kennis van tijdsberekeningen toe.
Samenvatting
Tijdwaarden zijn getallen, dus je kunt seconden optellen of aftrekken om ze te verschuiven: 3600 per uur, 86400 per dag. Vergelijk tijden rechtstreeks met > en <.
Gebruik os.difftime voor het verschil tussen twee tijden en deel daarna om uren of dagen te krijgen. Onthoud ook dat os.time velden van een tabel die buiten het geldige bereik vallen normaliseert, waardoor kalenderberekeningen eenvoudig worden.
Leer Lua met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 40
- Lessen
- 159
Veelgestelde vragen
Is de les “Rekenen met tijd” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Lua Academy, waaronder “Rekenen met tijd”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Lua Academy bevat in totaal 4 lessen.
Wat leer ik in “Rekenen met tijd”?
Tel tijden op en vergelijk ze. Je oefent met Lua Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Lua Academy te beginnen?
Ervaring vooraf is niet nodig. Lua Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Rekenen met tijd”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Lua Academy?
Ja. Elke les over Lua Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- os.time en os.date
- Datums formatteren
- Rekenen met tijd
- Duur meten