std.time

Datum/Zeit-Typen (date, time, datetime, timestamp) mit Unix-Sekunden und Mikrosekunden-Auflösung. Now() liefert die aktuelle datetime, NowUs() den hochauflösenden Zeitstempel (µs), NowMs() in Millisekunden. Umrechnung zwischen Julian Day Number und Gregorianischem Kalender, Schaltjahr-Prüfung (IsLeapYear), Wochentag-Berechnung, Timezone-Support (UTC, CET, CEST via ApplyTimeZone). Zeitkonstanten: SECOND, MINUTE, HOUR, DAY in Mikrosekunden.

Einsatzbereiche: Benchmarking und Profiling, HTTP/SMTP-Protokoll-Zeitstempel, Scheduling, Rate-Limiting, Session-Timeouts.

Autor: Andreas Röne
Copyright: 2024-2025 Andreas Röne


Typen


Funktionen

Signatur Sichtbarkeit Beschreibung
DaysFromCivil(year: int64, month: int64, day: int64): int64 pub Berechnet Tage aus Datum (Julian Day)
CivilYearFromDays(days: int64): int64 pub Extrahiert Jahr aus Julian-Day-Zahl
CivilMonthFromDays(days: int64): int64 pub Extrahiert Monat aus Julian-Day-Zahl
CivilDayFromDays(days: int64): int64 pub Extrahiert Tag aus Julian-Day-Zahl
IsLeapYear(y: int64): bool pub Prüft ob Jahr ein Schaltjahr ist
DateFromYmd(year: int64, month: int64, day: int64): date pub Erstellt date-Wert aus Jahr/Monat/Tag
YearFromDate(d: date): int64 pub Extrahiert Jahr aus date-Wert
MonthFromDate(d: date): int64 pub Extrahiert Monat aus date-Wert
DayFromDate(d: date): int64 pub Extrahiert Tag aus date-Wert
TimeFromHms(hour: int64, minute: int64, second: int64): time pub Erstellt time-Wert aus Stunde/Minute/Sekunde
HourFromTime(t: time): int64 pub Extrahiert Stunde aus time-Wert
MinuteFromTime(t: time): int64 pub Extrahiert Minute aus time-Wert
SecondFromTime(t: time): int64 pub Extrahiert Sekunde aus time-Wert
DatetimeFromUnixSeconds(sec: int64): datetime pub Erstellt datetime aus Unix-Sekunden
DatetimeToUnixSeconds(dt: datetime): int64 pub Konvertiert datetime in Unix-Sekunden
TimestampFromUnixSeconds(sec: int64): timestamp pub Erstellt Mikrosekunden-Timestamp
UnixSecondsFromTimestamp(ts: timestamp): int64 pub Extrahiert Unix-Sekunden aus Timestamp

Externe Funktionen

Signatur Beschreibung
now_unix(): int64 Gibt aktuelle Unix-Zeit in Sekunden zurück
now_unix_ms(): int64 Gibt aktuelle Unix-Zeit in Millisekunden zurück
Now(): datetime Gibt aktuelle datetime zurück
NowUs(): timestamp Gibt hochauflösenden Mikrosekunden-Timestamp zurück
NowMs(): int64 Gibt aktuelle Zeit in Millisekunden zurück
DayOfWeekFromDate(d: date): int64 Gibt Wochentag eines Datums zurück
DaysInMonth(year: int64, month: int64): int64 Gibt Tagesanzahl eines Monats zurück

Konstanten

Name Typ Wert Sichtbarkeit
SECOND int64 1000000 pub
MINUTE int64 60000000 pub
HOUR int64 3600000000 pub
DAY int64 86400000000 pub

TimeZone (struct)

Feld Typ
name pchar
offset_seconds int64
Signatur Sichtbarkeit Beschreibung
ZoneUTC(): TimeZone pub Gibt UTC-Zeitzone zurück
ZoneCET(): TimeZone pub Gibt CET-Zeitzone (UTC+1) zurück
ZoneCEST(): TimeZone pub Gibt CEST-Zeitzone (UTC+2) zurück
ApplyTimeZone(dt: datetime, zone: TimeZone): datetime pub Wendet Zeitzone auf datetime an