OS-Zeit
OS-Zeit
Abschnitt betitelt „OS-Zeit“Standard-Lua-os-Zeitfunktionen. Liefert echte Wanduhrzeit für Zeitstempel, Datumsformatierung und Zeitberechnungen.
Globale os-Tabelle. Kein require erforderlich.
os.time()os.date()os.clock()os.difftime()Zeitstempel abrufen
Abschnitt betitelt „Zeitstempel abrufen“Unix-Zeitstempel abrufen (Sekunden seit 1. Jan 1970 UTC):
-- Aktueller Zeitstempellocal now = os.time() -- 1718462445
-- Spezifisches Datum/Uhrzeitlocal t = os.time({ year = 2024, month = 12, day = 25, hour = 10, min = 30, sec = 0})Signatur: os.time([spec]) -> number
Parameter:
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
year | number | aktuelles Jahr | Vierstelliges Jahr (z.B. 2024) |
month | number | aktueller Monat | Monat 1-12 |
day | number | aktueller Tag | Tag des Monats 1-31 |
hour | number | 0 | Stunde 0-23 |
min | number | 0 | Minute 0-59 |
sec | number | 0 | Sekunde 0-59 |
Ohne Argumente aufgerufen, gibt den aktuellen Unix-Zeitstempel zurück.
Mit einer Tabelle aufgerufen, verwendet jedes fehlende Feld die oben gezeigten Standards. Die Felder year, month und day verwenden standardmäßig das aktuelle Datum, wenn nicht angegeben.
-- Nur Datum (Uhrzeit standardmäßig Mitternacht)os.time({year = 2024, month = 6, day = 15})
-- Teilweise (füllt aktuelles Jahr/Monat aus)os.time({day = 1}) -- erster des aktuellen MonatsDatum formatieren
Abschnitt betitelt „Datum formatieren“Zeitstempel als String formatieren oder Datums-Tabelle zurückgeben:
— Standardformat os.date() — “Sat Jun 15 14:30:45 2024”
— Benutzerdefiniertes Format os.date(“%Y-%m-%d”, now) — “2024-06-15” os.date(“%H:%M:%S”, now) — “14:30:45” os.date(“%Y-%m-%dT%H:%M:%S”, now) — “2024-06-15T14:30:45”
— UTC-Zeit (Format mit ! voranstellen) os.date(”!%Y-%m-%d %H:%M:%S”, now) — UTC statt lokal
— Datums-Tabelle local t = os.date(“*t”, now)
Signatur: os.date([format], [timestamp]) -> string | table
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
format | string | "%c" | Format-String, "*t" für Tabelle |
timestamp | number | aktuelle Zeit | Unix-Zeitstempel zum Formatieren |
Format-Spezifikatoren
Abschnitt betitelt „Format-Spezifikatoren“| Code | Ausgabe | Beispiel |
|---|---|---|
%Y | 4-stelliges Jahr | 2024 |
%y | 2-stelliges Jahr | 24 |
%m | Monat (01-12) | 06 |
%d | Tag (01-31) | 15 |
%H | Stunde 24h (00-23) | 14 |
%I | Stunde 12h (01-12) | 02 |
%M | Minute (00-59) | 30 |
%S | Sekunde (00-59) | 45 |
%p | AM/PM | PM |
%A | Wochentagsname | Saturday |
%a | Wochentag kurz | Sat |
%B | Monatsname | June |
%b | Monat kurz | Jun |
%w | Wochentag (0-6, Sonntag=0) | 6 |
%j | Tag des Jahres (001-366) | 167 |
%U | Wochennummer (00-53) | 24 |
%z | Zeitzonenoffset | -0700 |
%Z | Zeitzonenname | PDT |
%c | Volles Datum/Uhrzeit | Sat Jun 15 14:30:45 2024 |
%x | Nur Datum | 06/15/24 |
%X | Nur Uhrzeit | 14:30:45 |
%% | Literales % | % |
Datums-Tabelle
Abschnitt betitelt „Datums-Tabelle“Wenn Format "*t" ist, gibt eine Tabelle zurück:
local t = os.date("*t")| Feld | Typ | Beschreibung | Beispiel |
|---|---|---|---|
year | number | Vierstelliges Jahr | 2024 |
month | number | Monat (1-12) | 6 |
day | number | Tag des Monats (1-31) | 15 |
hour | number | Stunde (0-23) | 14 |
min | number | Minute (0-59) | 30 |
sec | number | Sekunde (0-59) | 45 |
wday | number | Wochentag (1-7, Sonntag=1) | 7 |
yday | number | Tag des Jahres (1-366) | 167 |
isdst | boolean | Sommerzeit | false |
Verwenden Sie "!*t" für UTC-Datums-Tabelle.
Verstrichene Zeit messen
Abschnitt betitelt „Verstrichene Zeit messen“Sekunden seit Lua-Runtime-Start abrufen:
local start = os.clock()
-- Arbeit ausführenfor i = 1, 1000000 do end
local elapsed = os.clock() - startprint(string.format("Took %.3f seconds", elapsed))Signatur: os.clock() -> number
Zeitdifferenz
Abschnitt betitelt „Zeitdifferenz“Differenz zwischen zwei Zeitstempeln in Sekunden abrufen:
local t1 = os.time({year = 2024, month = 1, day = 1})local t2 = os.time({year = 2024, month = 12, day = 31})
local diff = os.difftime(t2, t1) -- t2 - t1local days = diff / 86400print(days) -- 365Signatur: os.difftime(t2, t1) -> number
| Parameter | Typ | Beschreibung |
|---|---|---|
t2 | number | Späterer Zeitstempel |
t1 | number | Früherer Zeitstempel |
Gibt t2 - t1 in Sekunden zurück. Kann negativ sein wenn t1 > t2.
Plattform-Konstante
Abschnitt betitelt „Plattform-Konstante“Konstante zur Identifizierung der Laufzeit:
os.platform -- "wippy"