Provided by: manpages-de-dev_4.21.0-2_all bug

BEZEICHNUNG

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

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <time.h>

       char *asctime(const struct tm *tm);
       char *asctime_r(const struct tm *restrict tm,
                           char Puffer[restrict 26]);

       char *ctime(const time_t *Zeitz);
       char *ctime_r(const time_t *restrict Zeitz,
                           char Puffer[restrict 26]);

       struct tm *gmtime(const time_t *zeitz);
       struct tm *gmtime_r(const time_t *restrict zeitz,
                           struct tm *restrict Ergebnis);

       struct tm *localtime(const time_t *zeitz);
       struct tm *localtime_r(const time_t *restrict zeitz,
                           struct tm *restrict Ergebnis);

       time_t mktime(struct tm *tm);

   Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):

       asctime_r(), ctime_r(), gmtime_r(), localtime_r():
       _POSIX_C_SOURCE
           || /* Glibc <= 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 tm(3type) beschrieben 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 zeitz 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 zeitz 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 den Fehler 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(), gmtime_r(),  │ Multithread-Fähigkeit │ MT-Safe env locale                                  │
       │ localtime_r(), mktime() │                       │                                                     │
       ├─────────────────────────┼───────────────────────┼─────────────────────────────────────────────────────┤
       │ gmtime(), localtime()   │ Multithread-Fähigkeit │ MT-Unsafe race:tmbuf env locale                     │
       └─────────────────────────┴───────────────────────┴─────────────────────────────────────────────────────┘

STANDARDS

       POSIX.1-2001. C99 spezifiziert asctime(), ctime(), gmtime(), localtime() und mktime(). POSIX.1-2008 kenn‐
       zeichnet asctime_r(), ctime() und ctime_r() als veraltet und  empfiehlt  stattdessen  die  Benutzung  von
       strftime(3).

       POSIX spezifiziert die Parameter von ctime_r() nicht als restrict; dies ist Glibc-spezifisch.

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(), gmti‐
       me_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-Implementie‐
       rung vorkommen.

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

       Gemäß  POSIX.1-2001  wird localtime() benötigt, um sich so zu verhalten, als sei tzset(3) aufgerufen wor‐
       den, während localtime_r() nicht diese Anforderung stellt. Für portierbaren Code sollte tzset(3) vor  lo‐
       caltime_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)

Ü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@hel‐
       gefjell.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 die
       Mailingliste der Übersetzer.

Linux man-pages 6.03                             5. Februar 2023                                        ctime(3)