0Pricing
Lua Academy · Lektion

Zeitberechnungen

Addieren und vergleichen Sie Zeitpunkte.

Zeitberechnungen ist eine kostenlose Lua Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Lua Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Lua Academy-Kurs umfasst insgesamt 4 Lektionen.

Zeit sind nur Zahlen

Da os.time einfache Sekundenwerte zurückgibt, besteht Datumsberechnung größtenteils aus gewöhnlicher Arithmetik. Addieren Sie Sekunden, um in die Zukunft zu gehen, und subtrahieren Sie sie, um zurückzugehen.

In dieser Lektion erfahren Sie, wie Sie Zeitpunkte verschieben und vergleichen sowie den Abstand zwischen zwei Zeitpunkten ermitteln.

Sekunden pro Minute, Stunde und Tag

Wenn Sie mit größeren Einheiten arbeiten, denken Sie an die grundlegenden Werte: 60 Sekunden pro Minute, 3600 pro Stunde und 86400 pro Tag.

Durch die Multiplikation mit diesen Konstanten können Sie jede Zeitspanne in Sekunden ausdrücken.

print("Minute:", 60)
print("Hour:", 60 * 60)
print("Day:", 24 * 60 * 60)

Eine Stunde später

Um den Zeitpunkt in einer Stunde zu erhalten, nehmen Sie os.time() und addieren Sie 3600 Sekunden.

Übergeben Sie die neue Zahl an os.date, um das Ergebnis als lesbaren Text anzuzeigen.

local now = os.time()
local later = now + 3600
print(os.date("%H:%M", now))
print(os.date("%H:%M", later))

Gestern und morgen

Addieren Sie 86400 Sekunden, um einen Tag vorzuspringen, oder subtrahieren Sie diesen Wert, um einen Tag zurückzugehen.

So können Sie schnell das Datum von morgen oder gestern berechnen, ohne sich um Monatsgrenzen kümmern zu müssen.

local now = os.time()
print("Yesterday:", os.date("%Y-%m-%d", now - 86400))
print("Tomorrow: ", os.date("%Y-%m-%d", now + 86400))

Ein bestimmtes Datum erstellen

Beginnen Sie die Berechnung mit einem festen Datum, indem Sie es mithilfe einer Tabelle erstellen. Hier erzeugen wir den Neujahrstag 2025 und addieren anschließend eine Woche.

Die hinzugefügte Zeit führt korrekt zum 8. Januar.

local start = os.time({year=2025, month=1, day=1})
local week = start + 7 * 86400
print(os.date("%Y-%m-%d", week))

Zwei Zeitpunkte vergleichen

Da Zeitangaben Zahlen sind, funktionieren die normalen Vergleichsoperatoren. Eine größere Zahl steht für einen späteren Zeitpunkt.

So können Sie einfach prüfen, ob eine Frist abgelaufen ist.

local deadline = os.time({year=2020, month=1, day=1})
local now = os.time()
if now > deadline then
  print("Deadline has passed")
end

Differenz in Sekunden

Wenn Sie eine Zeitangabe von einer anderen subtrahieren, erhalten Sie den Abstand in Sekunden. Lua bietet außerdem os.difftime(a, b), das a - b als Zahl zurückgibt.

Die Verwendung von os.difftime ist die portable und empfohlene Methode, um eine Zeitspanne zu ermitteln.

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))

Sekunden in Tage umwandeln

Ein unverarbeiteter Abstand in Sekunden ist groß, daher teilen Sie ihn, um handlichere Einheiten zu erhalten. Teilen Sie durch 86400 für Tage oder durch 3600 für Stunden.

Verwenden Sie math.floor, um den Nachkommateil zu entfernen, wenn Sie nur ganze Einheiten benötigen.

local diff = os.difftime(
  os.time({year=2025, month=1, day=11}),
  os.time({year=2025, month=1, day=1}))
print(diff / 86400, "days")

Tage bis zu einem Ereignis

Kombinieren Sie die Konzepte, um bis zu einem zukünftigen Datum herunterzuzählen. Ziehen Sie die aktuelle Zeit vom Zielzeitpunkt ab und wandeln Sie die Sekunden anschließend in ganze Tage um.

Dieses Muster bildet die Grundlage für Countdown-Timer und Erinnerungs-Apps.

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)

Normalisieren mit os.time

Ein praktischer Trick: Übergeben Sie os.time eine Tabelle mit einem Feld außerhalb des gültigen Bereichs, und die Funktion korrigiert es. Der 32. Januar wird zu 1. Februar.

So können Sie Tage hinzufügen, indem Sie einfach das Feld day erhöhen, während Lua die Kalenderberechnung übernimmt.

local t = os.time({year=2025, month=1, day=32})
print(os.date("%Y-%m-%d", t))

Einen Monat sicher hinzufügen

Dank der Normalisierung können Sie das Feld month über 12 hinaus erhöhen, und Lua setzt das Jahr automatisch fort.

Der 13. Monat des Jahres 2025 wird automatisch zu Januar 2026.

local t = os.time({year=2025, month=13, day=1})
print(os.date("%Y-%m-%d", t))

Schnelltest

Wenden Sie Ihre Kenntnisse zur Zeitberechnung an.

Zusammenfassung

Zeitwerte sind Zahlen. Addieren oder subtrahieren Sie Sekunden, um sie zu verschieben: 3600 pro Stunde, 86400 pro Tag. Vergleichen Sie Zeitwerte direkt mit > und <.

Verwenden Sie os.difftime für den Abstand zwischen zwei Zeitwerten und teilen Sie anschließend, um Stunden oder Tage zu erhalten. Denken Sie außerdem daran, dass os.time Felder einer Tabelle außerhalb des gültigen Bereichs normalisiert und dadurch Kalenderberechnungen vereinfacht.

Häufig gestellte Fragen

Ist die Lektion „Zeitberechnungen“ kostenlos?

Ja — der vollständige Text von „Zeitberechnungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Lua Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Lua Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Zeitberechnungen“?

Addieren und vergleichen Sie Zeitpunkte. Du übst Lua Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Lua Academy zu starten?

Keine Vorkenntnisse erforderlich. Lua Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Zeitberechnungen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Lua Academy-Lektion Code schreiben und ausführen?

Ja. Jede Lua Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. os.time und os.date
  2. Daten formatieren
  3. Zeitberechnungen
  4. Dauern messen
← Zurück zu Lua Academy