B.22 <time.h> 

<time.h> beinhaltet viele Standardfunktionen, Typen und Makros für die Behandlung von Datum und Uhrzeit. Hierzu zunächst ein Überblick über die Funktionen:
Syntax | Bedeutung |
clock_t clock(void); |
verbrauchte CPU-Zeit seit dem Programmstart |
time_t time(time_t *time_ptr); |
Erfragen der aktuellen Kalenderzeit |
struct tm *gmtime( const time_t *time_ptr); struct tm *localtime( const time_t *time_ptr); |
Konvertieren vom time_t-Zeitformat in die struct tm-Zeit |
time_t mktime( const struct tm *tm_ptr); |
Konvertieren vom struct tm-Zeitformat in die time_t-Zeit |
char *asctime( const struct tm *tm_ptr); |
Konvertieren vom struct tm-Zeitformat in einen String |
char *ctime( const time_t *time_ptr); |
Konvertieren vom time_t-Zeitformat in einen String |
double difftime( time_t z2, time_t z1); |
Differenzen zweier Uhrzeiten im time_t-Format |
size_t strftime( char * restrict puf, size_t smax, const char * restrict fmt, const struct tm * restrict t_ptr); |
Konvertieren vom struct tm-Zeitformat in einen benutzerdefinierten String |
Folgende Typen sind in <time.h> deklariert:
Typ | Beschreibung |
clock_t |
Der Typ wird von der Funktion clock() zurückgegeben. Der Wert von clock_t implementierungsabhängig (häufig als int oder long int definiert). |
time_t |
Der Typ wird von der Funktion time() zurückgegeben. Der Wert von time_t ist ebenfalls implementierungsabhängig (häufig ebenfalls als int oder long int definiert). |
struct tm |
eine Struktur, die Datum und Uhrzeit repräsentiert |
size_t |
Auch hier: Ein ganzzahliger unsigned-Typ, der als Ergebnis von sizeof-Operationen verwendet wird. Der Typ ist ebenfalls in mehreren Headerdateien der Standard-Bibliothek definiert. |
In der Sturktur struct tm sind folgende Elemente deklariert:
Element in struct tm | Beschreibung |
int tm_sec |
Sekunden (0–59) |
int tm_min |
Minuten (0–59) |
int tm_hour |
Stunden (0–23) |
int tm_mday |
Tag des Monats (1–31) |
int tm_mon |
Monat (0–11; 0 = Januar) |
int tm_year |
Jahr seit 1900 |
int tm_wday |
Tag der Woche (0–6; 0 = Sonntag) |
int tm_yday |
Tag des Jahres (0–365) |
int tm_isdst |
Sommerzeit (>0: Sommerzeit; ==0: keine Sommerzeit; <0: unbekannt). |
Folgende Makros sind in der Headerdatei <time.h> definiert:
Makros | Beschreibung |
CLOCKS_PER_SEC |
Hierbei handelt es sich um einen konstanten Ausdruck vom Typ clock_t, der verwendet wird, wenn die verbrauchte Prozessorzeit in Sekunden berechnet werden soll. Hierbei wird der Rückgabewert von clock() durch CLOCKS_PER_SEC dividiert. |
NULL |
der Null-Zeiger |
Jetzt noch eine Übersicht über die Formatspezifizierer der Funktion strftime(), um Werte von der Struktur struct tm in einen benutzerdefinierten String umzuwandeln. Folgende Umwandlungsvorgaben können Sie hier verwenden:
Format | Wird ersetzt durch | Beispiel |
%a |
Wochenname (gekürzt) |
Sat |
%A |
Wochenname (ausgeschrieben) |
Saturday |
%b |
Monatsname (gekürzt) |
Jan |
%B |
Monatsname (ausgeschrieben) |
January |
%c |
entsprechende lokale Zeit- und Datumsdarstellung |
Sat Jan 22 22:22:22 MET 2003 |
%d |
Monatstag (1–31) |
22 |
%H |
Stunde im 24-Stunden-Format (0–23) |
23 |
%I |
Stunde im 12-Stunden-Format (1–12) |
5 |
%j |
Tag des Jahres (1–366) |
133 |
%m |
Monat (1–12) |
5 |
%M |
Minute (0–59) |
40 |
%p |
AM- oder PM-Zeitangabe; Indikator für das 12-Stunden-Format (USA) |
PM |
%S |
Sekunden (0–59) |
55 |
%U |
Wochennummer (0–53; Sonntag als erster Tag der Woche) |
33 |
%w |
Wochentag (0–6; Sonntag = 0) |
3 |
%W |
Wochennummer (0–53; Montag als erster Tag der Woche) |
4 |
%x |
lokale Datumsdarstellung |
02/20/02 |
%X |
lokale Zeitdarstellung |
20:15:00 |
%y |
Jahreszahl (ohne Jahrhundertzahl 0–99) |
01 (2001) |
%Y |
Jahreszahl (mit Jahrhundertzahl YYYY) |
2001 |
%Z, %z |
Zeitzone (gibt nichts aus, wenn Zeitzone unbekannt) |
MET |
%% |
Prozentzeichen |
% |
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.