====== struct tm ====== struct tm ist definiert in der ''[[start|time]]'', die in C über ''time.h'', bzw. in C++ über ''ctime'' eingebunden wird. ===== Datentyp ===== 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. ===== Aufbau ===== struct tm enthält neun Einträge vom Typ ''[[c:type:int|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. ===== Verwendungszweck ===== struct tm wird in der Regel in der C-Standard-Library time.h verwendet. ===== Beispieleprogramme im Wiki ===== * [[c:lib:time:gmtime|gmtime()]] * [[c:lib:time:mktime|mktime()]] * [[c:lib:time:strftime|strftime()]]