C Standard-Bibliothek

Funktionen für Datum und Uhrzeit: <time.h>


Die Definitionsdatei <time.h> vereinbart Typen und Funktionen zum Umgang mit Datum und Uhrzeit. Manche Funktionen verarbeiten die Ortszeit, die von der Kalenderzeit zum Beispiel wegen einer Zeitzone abweicht. clock_t und time_t sind arithmetische Typen, die Zeiten repräsentieren, und struct tm enthält die Komponenten einer Kalenderzeit:

int tm_sec;Sekunden nach der vollen Minute (0, 61)*
int tm_min;Minuten nach der vollen Stunde (0, 59)
int tm_hour;Stunden seit Mitternacht (0, 23)
int tm_mday;Tage im Monat (1, 31)
int tm_mon;Monate seit Januar (0, 11)
int tm_year;Jahre seit 1900
int tm_wday;Tage seit Sonntag (0, 6)
int tm_yday;Tage seit dem 1. Januar (0, 365)
int tm_isdst;Kennzeichen für Sommerzeit
(*Die zusätzlich möglichen Sekunden sind Schaltsekunden)

tm_isdst ist positiv, wenn Sommerzeit gilt, Null, wenn Sommerzeit nicht gilt, und negativ, wenn die Information nicht zur Verfügung steht.

  clock_t clock(void)

clock liefert die Rechnerkern-Zeit, die das Programm seit Beginn seiner Ausführung verbraucht hat, oder -1, wenn diese Information nicht zur Verfügung steht. clock()/CLOCKS_PER_SEC ist eine Zeit in Sekunden.

  time_t time(time_t *tp)

time liefert die aktuelle Kalenderzeit oder -1, wenn diese nicht zur Verfügung steht. Wenn tp von NULL verschieden ist, wird der Resultatwert auch bei *tp abgelegt.

  double difftime(time_t time2, time_t timel)

difftime liefert time2 - timel ausgedrückt in Sekunden.

  time_t mktime(struct tm *tp)

mktime wandelt die Ortszeit in der Struktur *tp in Kalenderzeit um, die so dargestellt wird wie bei time. Die Komponenten erhalten Werte in den angegebenen Bereichen. mktime liefert die Kalenderzeit oder -1, wenn sie nicht dargestellt werden kann.

Die folgenden vier Funktionen liefern Zeiger auf statische Objekte, die von anderen Aufrufen überschrieben werden können.

  char *asctime(const struct tm *tp)

asctime konstruiert aus der Zeit in der Struktur *tp eine Zeichenkette der Form

	Sun  Jan  3  15:14:13  1988\n\0

  char *ctime(const time_t *tp)

ctime verwandelt die Kalenderzeit *tp in Ortszeit; dies ist äquivalent zu

	 asctime(localtime(tp))

  struct tm *gmtime(const time_t *tp)

gmtime verwandelt die Kalenderzeit *tp in Coordinated Universal Time (UTC). Die Funktion liefert NULL, wenn UTC nicht zur Verfügung steht. Der Name gmtime hat historische Bedeutung.

  struct tm *localtime(const time_t *tp)

localtime verwandelt die Kalenderzeit *tp in Ortszeit.

  size_t strftime(char *s, size_t smax, const char *fmt, const struct tm *tp)

strftime formatiert Datum und Zeit aus *tp in s unter Kontrolle von fmt, analog zu einem printf-Format. Gewöhnliche Zeichen (insbesondere auch das abschließende '\0') werden nach s kopiert. Jedes %c wird so wie unten beschrieben ersetzt, wobei Werte verwendet werden, die der lokalen Umgebung entsprechen. Höchstens smax Zeichen werden in s abgelegt. strftime liefert die Anzahl der resultierenden Zeichen, mit Ausnahme von '\0'. Wenn mehr als smax Zeichen erzeugt wurden, liefert strftime den Wert Null.

%aabgekürzter Name des Wochentags.
%Avoller Name des Wochentags.
%babgekürzter Name des Monats.
%Bvoller Name des Monats.
%clokale Darstellung von Datum und Zeit.
%dTag im Monat (01 - 31).
%HStunde (00 - 23).
%IStunde (01 - 12).
%jTag im Jahr (001 - 366).
%mMonat (01 - 12).
%MMinute (00 - 59).
%plokales Äquivalent von AM oder PM.
%SSekunde (00 - 61).
%UWoche im Jahr (Sonntag ist erster Wochentag) (00 - 53).
%wWochentag (0 - 6, Sonntag ist 0).
%WWoche im Jahr (Montag ist erster Wochentag) (00 - 53).
%xlokale Darstellung des Datums.
%Xlokale Darstellung der Zeit.
%yJahr ohne Jahrhundert (00 - 99).
%YJahr mit Jahrhundert.
%ZName der Zeitzone, falls diese existiert.
%%%.


[ Anfang der Seite | Inhaltsverzeichnis | Funktions-Register Header-Register ]

 

15. November 1999, Peter Klingebiel, DVZ