Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       asctime,   ctime,  gmtime,  localtime,  mktime  -  Datum  und  Zeit  in
       aufgeschlüsselte Zeit oder ASCII umwandeln

ÜBERSICHT

       #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() benötigen 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() benötigen jeweils ein Argument
       das eine aufgeschlüsselte Zeitangabe darstellt, die in Jahr, Monat, Tag
       usw. aufgeteilt ist.

       Aufgeschlüsselte  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 verfügbar
                 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  Abkürzungen  für  die  Wochentage sind »Sun«, »Mon«, »Tue«, »Wed«,
       »Thu«, »Fri«, und »Sat«. Die Abkürzungen für  die  Monate  sind  »Jan«,
       »Feb«,  »Mar«,  »Apr«, »May«, »Jun«, »Jul«, »Aug«, »Sep«, »Oct«, »Nov«,
       und  »Dec«.  Der  Rückgabewert  zeigt  auf  eine  statisch  reservierte
       Zeichenkette,   die   durch   nachfolgende   Aufrufe  von  Datums-  und
       Zeitfunktionen überschrieben werden darf. Die Funktion setzt  auch  die
       externen  Variablen  tzname, timezone und daylight (siehe tzset(3)) mit
       Informationen über die aktuelle Zeitzone. Die ablaufinvariante  Version
       ctime_r()  tut  dasselbe,  speichert aber die Zeichenkette in einem vom
       Benutzer gelieferten Zeichenkettenpuffer, der Platz für  mindestens  26
       Byte  haben  sollte. tzname, timezone und daylight müssen nicht gesetzt
       sein.

       Die  Funktion  gmtime()  wandelt  die  Kalenderzeit   timep   in   eine
       aufgeschlüsselte   Entsprechung  der  Zeit  um,  die  in  koordinierter
       Weltzeit (UTC) ausgedrückt wird. Sie kann NULL  zurückgeben,  wenn  das
       Jahr  nicht  in  eine  Ganzzahl  passt. Der Rückgabewert zeigt auf eine
       statisch  reservierte  Struktur,   die   von   nachfolgenden   Aufrufen
       irgendwelcher Datums- und Zeitfunktionen überschrieben 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
       aufgeschlüsselte Entsprechung der Zeit um, ausgedrückt relativ  zu  der
       vom  Benutzer  angegebenen  Zeitzone. Die Funktion arbeitet, als ob sie
       tzset(3) aufrufen würde und setzt die externen Variablen tzname auf die
       Informationen  über  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 während einem
       Teil des Jahres Sommerzeitregeln gelten.  Der  Rückgabewert  zeigt  auf
       eine  statisch  reservierte  Struktur,  die  von nachfolgenden Aufrufen
       irgendwelcher Datums- und Zeitfunktionen überschrieben werden kann. Die
       Funktion  localtime_r()  tut  das  gleiche, speichert aber die Daten in
       einer vom Benutzer gelieferten Struktur. tzname, timezone und  daylight
       müssen nicht gesetzt sein.

       Die  Funktion  asctime()  wandelt  den aufgeschlüsselten Zeitwert tm in
       eine durch Null beendete  Zeichenkette  mit  dem  gleichen  Format  wie
       ctime().   Der   Rückgabewert   zeigt  auf  eine  statisch  reservierte
       Zeichenkette, die von nachfolgenden Aufrufen irgendwelcher Datums-  und
       Zeitfunktionen  überschrieben werden kann. Die Funktion asctime_r() tut
       das gleiche, speichert aber die  Zeichenkette  in  einem  vom  Benutzer
       gelieferten Zeichenkettenpuffer, der Platz für mindestens 26 Byte haben
       sollte.

       Die Funktion mktime() wandelt die aufgeschlüsselten  Zeitstruktur,  die
       als   lokale   Zeit   ausgedrückt   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() ändert 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  außerhalb
       ihres erlaubten Intervalls liegen, werden sie normalisiert (so dass zum
       Beispiel der 40. Oktober auf 9. November geändert wird); tm_isdst  wird
       (unabhängig   vom   anfänglichen   Wert)   auf   einen  positiven  Wert
       beziehungsweise 0 gesetzt,  um  anzuzeigen,  ob  zur  angegebenen  Zeit
       Sommerzeit  ist  oder nicht. Der Aufruf von mktime() setzt außerdem die
       Variable tzname mit Informationen über die aktuelle Zeitzone.

       Falls die  angegebene  aufgeschlüsselte  Zeit  nicht  als  Kalenderzeit
       (Unixzeit   in   Sekunden)   dargestellt  werden  kann,  gibt  mktime()
       (time_t) -1 zurück und verändert  die  Elemente  der  aufgeschlüsselten
       Zeitstruktur nicht.

RÜCKGABEWERT

       Jede dieser Funktionen gibt den beschriebenen Wert oder NULL zurück (-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 zurück und sind daher nicht sicher für
       Threads.  Die  für  Threads  sicheren Versionen asctime_r(), ctime_r(),
       gmtime_r() und localtime_r werden durch  SUSv2  spezifiziert  und  sind
       seit Libc 5.2.5 verfügbar.

       POSIX.1-2001  sagt:  »Die  Funktionen  asctime(), ctime(), gmtime() und
       localtime() sollen Rückgabewerte in einem von zwei statischen  Objekten
       liefern: einer aufgeschlüsselten Zeit und einem Feld des Typs char. Das
       Ausführen  irgendeiner  der  Funktionen   könnte   die   zurückgegebene
       Information  überschreiben, die von diesen beiden Objekten durch andere
       Funktionen    zurückgegeben    wurden.«    Dies     kann     in     der
       Glibc-Implementierung vorkommen.

       In  vielen Implementierungen, einschließlich Glibc, wird a 0 in tm_mday
       als letzter Tag des vorhergehenden Monats interpretiert.

       Die Glibc-Version von struct tm hat zusätzliche Felder.

              long tm_gmtoff;           /* Sekunden östlich von UTC */
              const char *tm_zone;      /* Abkürzung 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.

       Gemäß  POSIX.1-2004 wird localtime() benötigt, um sich so zu verhalten,
       als sei tzset(3) aufgerufen worden, während localtime_r()  nicht  diese
       Anforderung   stellt.   Für   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  Veröffentlichung  3.32  des  Projekts
       Linux-man-pages. Eine Beschreibung des Projekts und Informationen,  wie
       Fehler     gemeldet     werden     können,     finden     sich    unter
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick  Rother
       <krd@gulu.net> und Chris Leick <c.leick@vollbio.de> erstellt.

       Diese  Übersetzung  ist  Freie Dokumentation; lesen Sie die GNU General
       Public  License  Version  3  oder  neuer   bezüglich   der   Copyright-
       Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der  Übersetzung  dieser  Handbuchseite  finden,
       schicken     Sie     bitte     eine     E-Mail     an     <debian-l10n-
       german@lists.debian.org>.

                               25. Februar 2010                       CTIME(3)