struct tm ist definiert in der time
, die in C über time.h
, bzw. in C++ über ctime
eingebunden wird.
struct tm speichert einen Zeitstempel und zusätzliche Metainformationen in einer Struktur. Dabei werden die einzelnen Informationen des Zeitstempels nicht wie bei time_t in komprimierter Form gehalten, sondern in einzelne Komponenten (Stunde, Minute, Sekunde) unterteilt gespeichert.
struct tm enthält neun Einträge vom Typ int
, wobei die Reihenfolge innerhalb der Struktur nicht festgelegt ist.
struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; };
Die Einträge haben folgende Bedeutung und Reichwerten
Member | Meaning | Wertebereich |
---|---|---|
tm_sec | Sekunden seit der letzten vollen Minute | 0..61 |
tm_min | Minuten seit der letzten vollen Stunde | 0..59 |
tm_hour | Stunden seit Mitternacht | 0..23 |
tm_mday | Tag des Monats | 1..31 |
tm_mon | Monate seit Januar | 0..11 |
tm_year | Jahr seit 1900 | 0.. |
tm_wday | Tage seit Sonntag | 0..6 |
tm_yday | Tage seit dem 1. Januar | 0..365 |
tm_isdst | Sommerzeit Flag |
Erläuterungen
Das Sommerzeit-Flag (tm_isdst) ist größer als 0, wenn es zurzeit Sommerzeit ist. Im Falle von Winterzeit ist es genau 0. Ist es kleiner als 0, so ist die Information nicht verfügbar.
tm_sec ist üblicherweise zwischen 0 und 59 Sekunden. Um Schaltsekunden zu realisieren, liegt der Wertebereich in Ausnahmefällen jedoch zwischen 0 und 61 Sekunden.
struct tm wird in der Regel in der C-Standard-Library time.h verwendet.