focal (3) localtime.3.gz

Provided by: manpages-de-dev_2.16-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
                  || /* Glibc-Versionen <= 2.19: */ _BSD_SOURCE || _SVID_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 (0-60) */
               int tm_min;         /* Minuten (0-59) */
               int tm_hour;        /* Stunden (0-23) */
               int tm_mday;        /* Monatstag (1-31) */
               int tm_mon;         /* Monat (0-11) */
               int tm_year;        /* Jahr - 1900 */
               int tm_wday;        /* Wochentag (0-6, Sonntag = 0) */
               int tm_yday;        /* Jahrestag (0-365, 1. Jan = 0) */
               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

       Im Erfolgsfall liefern gmtime() und localtime() einen Zeiger auf ein struct tm zurück.

       Im Erfolgsfall liefern gmtime_r() und localtime_r() die Adresse  der  Struktur  zurück,  auf  die  result
       zeigt.

       Im Erfolgsfall liefern asctime() und ctime() einen Zeiger auf eine Zeichenkette zurück.

       Im Erfolgsfall liefern asctime_r() und ctime_r() einen Zeiger zurück, auf den buf zeigt.

       Im  Erfolgsfall  liefert mktime() die Kalenderzeit (Sekunden seit der Epoch) zurück, ausgedrückt als Wert
       des Typs time_t.

       Im Fehlerfall liefert mktime() den Wert (time_t) -1 zurück. Die verbliebenen Funktionen liefern  NULL  im
       Fehlerfall zurück. Im Fehlerfall wird errno gesetzt, um die Fehlerursache anzuzeigen.

FEHLER

       EOVERFLOW
              Das Ergebnis kann nicht dargestellt werden.

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

       ┌───────────────┬───────────────────────┬─────────────────────────────────┐
       │SchnittstelleAttributWert                            │
       ├───────────────┼───────────────────────┼─────────────────────────────────┤
       │asctime()      │ Multithread-Fähigkeit │ MT-Unsafe race:asctime locale   │
       ├───────────────┼───────────────────────┼─────────────────────────────────┤
       │asctime_r()    │ Multithread-Fähigkeit │ MT-Safe locale                  │
       ├───────────────┼───────────────────────┼─────────────────────────────────┤
       │ctime()        │ Multithread-Fähigkeit │ MT-Unsafe race:tmbuf            │
       │               │                       │ race:asctime env locale         │
       ├───────────────┼───────────────────────┼─────────────────────────────────┤
       │ctime_r(),     │ Multithread-Fähigkeit │ MT-Safe env locale              │
       │gmtime_r(),    │                       │                                 │
       │localtime_r(), │                       │                                 │
       │mktime()       │                       │                                 │
       ├───────────────┼───────────────────────┼─────────────────────────────────┤
       │gmtime(),      │ Multithread-Fähigkeit │ MT-Unsafe race:tmbuf env locale │
       │localtime()    │                       │                                 │
       └───────────────┴───────────────────────┴─────────────────────────────────┘

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  multithread-fähig.  Multithread-fähige  Versionen  asctime_r(),  ctime_r(),
       gmtime_r() und localtime_r werden durch SUSv2 spezifiziert.

       POSIX.1-2001  sagt:  »Die Funktionen asctime(), ctime(), gmtime() und localtime() müssen 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.

           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  5.03  des  Projekts  Linux-man-pages.  Eine  Beschreibung  des
       Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
       sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite  wurde  von  Patrick  Rother  <krd@gulu.net>,  Chris  Leick
       <c.leick@vollbio.de>,    Mario    Blättermann   <mario.blaettermann@gmail.com>   und   Helge   Kreutzmann
       <debian@helgefjell.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>.

                                                  6. März 2019                                          CTIME(3)