Provided by:
manpages-de-dev_0.10-1_all 
BEZEICHNUNG
asctime, ctime, gmtime, localtime, mktime - Datum und Zeit in
aufgeschlusselte Zeit oder ASCII umwandeln
"UBERSICHT
#include <time.h>
char *asctime(const struct tm *tm);
char *asctime_r(const struct tm *tm, char *puffer);
char *ctime(const time_t *timep);
char *ctime_r(const time_t *timep, char *puffer);
struct tm *gmtime(const time_t *timep);
struct tm *gmtime_r(const time_t *timep, struct tm *ergebnis);
struct tm *localtime(const time_t *timep);
struct tm *localtime_r(const time_t *timep, struct tm *ergebnis);
time_t mktime(struct tm *tm);
Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):
asctime_r(), ctime_r(), gmtime_r(), localtime_r():
_POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _BSD_SOURCE ||
_SVID_SOURCE || _POSIX_SOURCE
BESCHREIBUNG
Die Funktionen ctime(), gmtime() und localtime() benotigen ein Argument
des Datentyps time_t, welches die Kalenderzeit darstellt. Wenn sie als
absoluter Zeitwert interpretiert wird, stellt sie die Unixzeit dar, die
Sekunden, die seit dem 1. Januar 1970, 00:00.00 Uhr koordinierter
Weltzeit (UTC) verstrichen sind.
Die Funktionen asctime() und mktime() benotigen jeweils ein Argument
das eine aufgeschlusselte Zeitangabe darstellt, die in Jahr, Monat, Tag
usw. aufgeteilt ist.
Aufgeschlusselte Zeit wird in der Struktur tm gespeichert, die in
<time.h> wie folgt definiert ist:
struct tm {
int tm_sec; /* Sekunden */
int tm_min; /* Minuten */
int tm_hour; /* Stunden */
int tm_mday; /* Monatstag */
int tm_mon; /* Monat */
int tm_year; /* Jahr */
int tm_wday; /* Wochentag */
int tm_yday; /* Jahrestag */
int tm_isdst; /* Sommerzeit */
};
Die Elemente der Struktur tm sind:
tm_sec die Anzahl der Sekunden nach der vollen Minute, normalerweise
im Bereich 0 bis 59, kann aber bis zu 60 sein, um
Schaltsekunden zu erlauben.
tm_min die Anzahl der Minuten nach der vollen Stunde, im Bereich 0
bis 59.
tm_hour die Anzahl der Stunden nach Mitternacht, im Bereich 0 bis 23.
tm_mday der Tag des Monats, im Bereich 1 bis 31.
tm_mon die Anzahl der Monate seit Januar, im Bereich 0 bis 11.
tm_year die Anzahl der Jahre nach 1900.
tm_wday die Anzahl der Tage seit Sonntag, im Bereich 0 bis 6.
tm_yday die Anzahl der Tage seit dem 1. Januar, im Bereich 0 bis 365.
tm_isdst ein Schalter, der anzeigt, ob in der angegebenen Zeit
Sommerzeit ist. Der Wert ist in der Sommerzeit positiv, Null
wenn nicht und negativ wenn die Information nicht verfugbar
ist.
Der Aufruf ctime(t) entspricht asctime(localtime(t)). Er konvertiert
die Kalenderzeit t in eine durch Null beendete Zeichenkette der Form
"Wed Jun 30 21:49:08 1993\n"
Die Abkurzungen fur die Wochentage sind >>Sun<<, >>Mon<<, >>Tue<<,
>>Wed<<, >>Thu<<, >>Fri<<, und >>Sat<<. Die Abkurzungen fur die Monate
sind >>Jan<<, >>Feb<<, >>Mar<<, >>Apr<<, >>May<<, >>Jun<<, >>Jul<<,
>>Aug<<, >>Sep<<, >>Oct<<, >>Nov<<, und >>Dec<<. Der Ruckgabewert
zeigt auf eine statisch reservierte Zeichenkette, die durch
nachfolgende Aufrufe von Datums- und Zeitfunktionen uberschrieben
werden darf. Die Funktion setzt auch die externen Variablen tzname,
timezone und daylight (siehe tzset(3)) mit Informationen uber die
aktuelle Zeitzone. Die ablaufinvariante Version ctime_r() tut dasselbe,
speichert aber die Zeichenkette in einem vom Benutzer gelieferten
Zeichenkettenpuffer, der Platz fur mindestens 26 Byte haben sollte.
tzname, timezone und daylight mussen nicht gesetzt sein.
Die Funktion gmtime() wandelt die Kalenderzeit timep in eine
aufgeschlusselte Entsprechung der Zeit um, die in koordinierter
Weltzeit (UTC) ausgedruckt wird. Sie kann NULL zuruckgeben, wenn das
Jahr nicht in eine Ganzzahl passt. Der Ruckgabewert zeigt auf eine
statisch reservierte Struktur, die von nachfolgenden Aufrufen
irgendwelcher Datums- und Zeitfunktionen uberschrieben werden kann. Die
Funktion gmtime_r() tut das gleiche, speichert aber die Daten in einer
vom Benutzer gelieferten Struktur.
Die Funktion localtime() wandelt die Kalenderzeit timep in eine
aufgeschlusselte Entsprechung der Zeit um, ausgedruckt relativ zu der
vom Benutzer angegebenen Zeitzone. Die Funktion arbeitet, als ob sie
tzset(3) aufrufen wurde und setzt die externen Variablen tzname auf die
Informationen uber die aktuelle Zeitzone, timezone auf die Differenz
zwischen koordinierter Weltzeit (UTC) und der lokalen Standardzeit in
Sekunden und daylight auf einen Wert ungleich Null, falls wahrend einem
Teil des Jahres Sommerzeitregeln gelten. Der Ruckgabewert zeigt auf
eine statisch reservierte Struktur, die von nachfolgenden Aufrufen
irgendwelcher Datums- und Zeitfunktionen uberschrieben werden kann. Die
Funktion localtime_r() tut das gleiche, speichert aber die Daten in
einer vom Benutzer gelieferten Struktur. tzname, timezone und daylight
mussen nicht gesetzt sein.
Die Funktion asctime() wandelt den aufgeschlusselten Zeitwert tm in
eine durch Null beendete Zeichenkette mit dem gleichen Format wie
ctime(). Der Ruckgabewert zeigt auf eine statisch reservierte
Zeichenkette, die von nachfolgenden Aufrufen irgendwelcher Datums- und
Zeitfunktionen uberschrieben werden kann. Die Funktion asctime_r() tut
das gleiche, speichert aber die Zeichenkette in einem vom Benutzer
gelieferten Zeichenkettenpuffer, der Platz fur mindestens 26 Byte haben
sollte.
Die Funktion mktime() wandelt die aufgeschlusselten Zeitstruktur, die
als lokale Zeit ausgedruckt wird, in eine Entsprechung der
Kalenderzeit. Die Funktion ignoriert die Werte, die der Aufrufende in
den Feldern tm_wday und tm_yday mitgegeben hat, egal ob in der Zeit der
mitgegebenen Struktur tm Sommerzeit ist oder nicht: Ein positiver Wert
bedeutet, dass Sommerzeit ist, Null bedeutet, dass keine Sommerzeit ist
und ein negativer Wert bedeutet, dass mktime() (mit
Zeitzoneninformationen und Systemdatenbanken) versuchen sollte zu
bestimmen, ob zur angegebenen Zeit Sommerzeit ist oder nicht.
Die Funktion mktime() andert die Felder der Struktur tm wie folgt:
tm_wday und tm_yday werden auf die Werte gesetzt, die vom Inhalt
anderer Felder bestimmt werden; falls Elemente der Stuktur auBerhalb
ihres erlaubten Intervalls liegen, werden sie normalisiert (so dass zum
Beispiel der 40. Oktober auf 9. November geandert wird); tm_isdst wird
(unabhangig vom anfanglichen Wert) auf einen positiven Wert
beziehungsweise 0 gesetzt, um anzuzeigen, ob zur angegebenen Zeit
Sommerzeit ist oder nicht. Der Aufruf von mktime() setzt auBerdem die
Variable tzname mit Informationen uber die aktuelle Zeitzone.
Falls die angegebene aufgeschlusselte Zeit nicht als Kalenderzeit
(Unixzeit in Sekunden) dargestellt werden kann, gibt mktime()
(time_t) -1 zuruck und verandert die Elemente der aufgeschlusselten
Zeitstruktur nicht.
R"UCKGABEWERT
Jede dieser Funktionen gibt den beschriebenen Wert oder NULL zuruck (-1
im Fall von mktime()), falls ein Fehler entdeckt wurde.
KONFORM ZU
POSIX.1-2001. C89 und C99 spezifizieren asctime(), ctime(), gmtime(),
localtime() und mktime(). POSIX.1-2008 kennzeichnet asctime_r(),
ctime() und ctime_r() als veraltet und empfiehlt stattdessen die
Benutzung von strftime(3).
ANMERKUNGEN
Die vier Funktionen asctime(), ctime(), gmtime() und localtime() geben
einen Zeiger auf statische Daten zuruck und sind daher nicht sicher fur
Threads. Die fur Threads sicheren Versionen asctime_r(), ctime_r(),
gmtime_r() und localtime_r werden durch SUSv2 spezifiziert und sind
seit Libc 5.2.5 verfugbar.
POSIX.1-2001 sagt: >>Die Funktionen asctime(), ctime(), gmtime() und
localtime() sollen Ruckgabewerte in einem von zwei statischen Objekten
liefern: einer aufgeschlusselten Zeit und einem Feld des Typs char. Das
Ausfuhren irgendeiner der Funktionen konnte die zuruckgegebene
Information uberschreiben, die von diesen beiden Objekten durch andere
Funktionen zuruckgegeben wurden.<< Dies kann in der
Glibc-Implementierung vorkommen.
In vielen Implementierungen, einschlieBlich Glibc, wird a 0 in tm_mday
als letzter Tag des vorhergehenden Monats interpretiert.
Die Glibc-Version von struct tm hat zusatzliche Felder.
long tm_gmtoff; /* Sekunden ostlich von UTC */
const char *tm_zone; /* Abkurzung der Zeitzone */
definiert, wenn _BSD_SOURCE gesetzt war bevor <time.h> eingebunden
wurde. Dies ist eine BSD-Erweiterung, die in 4.3BSD-Reno enthalten ist.
GemaB POSIX.1-2004 wird localtime() benotigt, um sich so zu verhalten,
als sei tzset(3) aufgerufen worden, wahrend localtime_r() nicht diese
Anforderung stellt. Fur portierbaren Code sollte tzset(3) vor
localtime_r() aufgerufen werden.
SIEHE AUCH
date(1), gettimeofday(2), time(2), utime(2), clock(3), difftime(3),
strftime(3), strptime(3), timegm(3), tzset(3), time(7)
KOLOPHON
Diese Seite ist Teil der Veroffentlichung 3.32 des Projekts
Linux-man-pages. Eine Beschreibung des Projekts und Informationen, wie
Fehler gemeldet werden konnen, finden sich unter
http://www.kernel.org/doc/man-pages/.
"UBERSETZUNG
Die deutsche Ubersetzung dieser Handbuchseite wurde von Patrick Rother
<krd@gulu.net> und Chris Leick <c.leick@vollbio.de> erstellt.
Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General
Public License Version 3 oder neuer bezuglich der Copyright-
Bedingungen. Es wird KEINE HAFTUNG ubernommen.
Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden,
schicken Sie bitte eine E-Mail an <debian-l10n-
german@lists.debian.org>.
25. Februar 2010 CTIME(3)