.\" -*- coding: UTF-8 -*- .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" Modified Sat Jul 24 19:49:27 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified Fri Apr 26 12:38:55 MET DST 1996 by Martin Schulze (joey@linux.de) .\" Modified 2001-11-13, aeb .\" Modified 2001-12-13, joey, aeb .\" Modified 2004-11-16, mtk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CTIME 3 "6. März 2019" "" Linux\-Programmierhandbuch .SH BEZEICHNUNG asctime, ctime, gmtime, localtime, mktime \- Datum und Zeit in aufgeschlüsselte Zeit oder ASCII umwandeln .SH ÜBERSICHT .nf \fB#include \fP .PP \fBchar *asctime(const struct tm *\fP\fItm\fP\fB);\fP \fBchar *asctime_r(const struct tm *\fP\fItm\fP\fB, char *\fP\fIPuffer\fP\fB);\fP .PP \fBchar *ctime(const time_t *\fP\fIzeitz\fP\fB);\fP \fBchar *ctime_r(const time_t *\fP\fIzeitz\fP\fB, char *\fP\fIPuffer\fP\fB);\fP .PP \fBstruct tm *gmtime(const time_t *\fP\fIzeitz\fP\fB);\fP \fBstruct tm *gmtime_r(const time_t *\fP\fIzeitz\fP\fB, struct tm *\fP\fIErgebnis\fP\fB);\fP .PP \fBstruct tm *localtime(const time_t *\fP\fIzeitz\fP\fB);\fP \fBstruct tm *localtime_r(const time_t *\fP\fIzeitz\fP\fB, struct tm *\fP\fIErgebnis\fP\fB);\fP .PP \fBtime_t mktime(struct tm *\fP\fItm\fP\fB);\fP .fi .PP .in -4n Mit Glibc erforderliche Makros (siehe \fBfeature_test_macros\fP(7)): .in .ad l .PP \fBasctime_r\fP(), \fBctime_r\fP(), \fBgmtime_r\fP(), \fBlocaltime_r\fP(): .RS _POSIX_C_SOURCE || /* Glibc\-Versionen <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE .RE .ad .SH BESCHREIBUNG Die Funktionen \fBctime\fP(), \fBgmtime\fP() und \fBlocaltime\fP() benötigen ein Argument des Datentyps \fItime_t\fP, 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. .PP Die Funktionen \fBasctime\fP() und \fBmktime\fP() benötigen jeweils ein Argument das eine aufgeschlüsselte Zeitangabe darstellt, die in Jahr, Monat, Tag usw. aufgeteilt ist. .PP Aufgeschlüsselte Zeit wird in der Struktur \fItm\fP gespeichert, die in \fI\fP wie folgt definiert ist: .PP .in +4n .EX 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 */ }; .EE .in .PP Die Elemente der Struktur \fItm\fP sind: .TP 10 \fItm_sec\fP die Anzahl der Sekunden nach der vollen Minute, normalerweise im Bereich 0 bis 59, kann aber bis zu 60 sein, um Schaltsekunden zu erlauben. .TP \fItm_min\fP die Anzahl der Minuten nach der vollen Stunde, im Bereich 0 bis 59. .TP \fItm_hour\fP die Anzahl der Stunden nach Mitternacht, im Bereich 0 bis 23. .TP \fItm_mday\fP der Tag des Monats, im Bereich 1 bis 31. .TP \fItm_mon\fP die Anzahl der Monate seit Januar, im Bereich 0 bis 11. .TP \fItm_year\fP die Anzahl der Jahre nach 1900. .TP \fItm_wday\fP die Anzahl der Tage seit Sonntag, im Bereich 0 bis 6. .TP \fItm_yday\fP die Anzahl der Tage seit dem 1. Januar, im Bereich 0 bis 365. .TP \fItm_isdst\fP 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. .PP Der Aufruf \fBctime(\fP\fIt\fP\fB)\fP entspricht \fBasctime(localtime(\fP\fIt\fP\fB))\fP. Er konvertiert die Kalenderzeit \fIt\fP in eine durch Null beendete Zeichenkette der Form .PP .in +4n .EX "Wed Jun 30 21:49:08 1993\en" .EE .in .PP 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 \fItzname\fP, \fItimezone\fP und \fIdaylight\fP (siehe \fBtzset\fP(3)) mit Informationen über die aktuelle Zeitzone. Die ablaufinvariante Version \fBctime_r\fP() tut dasselbe, speichert aber die Zeichenkette in einem vom Benutzer gelieferten Zeichenkettenpuffer, der Platz für mindestens 26 Byte haben sollte. \fItzname\fP, \fItimezone\fP und \fIdaylight\fP müssen nicht gesetzt sein. .PP Die Funktion \fBgmtime\fP() wandelt die Kalenderzeit \fIzeitz\fP 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 \fBgmtime_r\fP() tut das gleiche, speichert aber die Daten in einer vom Benutzer gelieferten Struktur. .PP Die Funktion \fBlocaltime\fP() wandelt die Kalenderzeit \fIzeitz\fP in eine aufgeschlüsselte Entsprechung der Zeit um, ausgedrückt relativ zu der vom Benutzer angegebenen Zeitzone. Die Funktion arbeitet, als ob sie \fBtzset\fP(3) aufrufen würde und setzt die externen Variablen \fItzname\fP auf die Informationen über die aktuelle Zeitzone, \fItimezone\fP auf die Differenz zwischen koordinierter Weltzeit (UTC) und der lokalen Standardzeit in Sekunden und \fIdaylight\fP 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 \fBlocaltime_r\fP() tut das gleiche, speichert aber die Daten in einer vom Benutzer gelieferten Struktur. \fItzname\fP, \fItimezone\fP und \fIdaylight\fP müssen nicht gesetzt sein. .PP Die Funktion \fBasctime\fP() wandelt den aufgeschlüsselten Zeitwert \fItm\fP in eine durch Null beendete Zeichenkette mit dem gleichen Format wie \fBctime\fP(). Der Rückgabewert zeigt auf eine statisch reservierte Zeichenkette, die von nachfolgenden Aufrufen irgendwelcher Datums\- und Zeitfunktionen überschrieben werden kann. Die Funktion \fBasctime_r\fP() tut das gleiche, speichert aber die Zeichenkette in einem vom Benutzer gelieferten Zeichenkettenpuffer, der Platz für mindestens 26 Byte haben sollte. .PP Die Funktion \fBmktime\fP() 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 \fItm_wday\fP und \fItm_yday\fP mitgegeben hat, egal ob in der Zeit der mitgegebenen Struktur \fItm\fP Sommerzeit ist oder nicht: Ein positiver Wert bedeutet, dass Sommerzeit ist, Null bedeutet, dass keine Sommerzeit ist und ein negativer Wert bedeutet, dass \fBmktime\fP() (mit Zeitzoneninformationen und Systemdatenbanken) versuchen sollte zu bestimmen, ob zur angegebenen Zeit Sommerzeit ist oder nicht. .PP Die Funktion \fBmktime\fP() ändert die Felder der Struktur \fItm\fP wie folgt: \fItm_wday\fP und \fItm_yday\fP 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); \fItm_isdst\fP 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 \fBmktime\fP() setzt außerdem die Variable \fItzname\fP mit Informationen über die aktuelle Zeitzone. .PP Falls die angegebene aufgeschlüsselte Zeit nicht als Kalenderzeit (Unixzeit in Sekunden) dargestellt werden kann, gibt \fBmktime\fP() \fI(time_t)\ \-1\fP zurück und verändert die Elemente der aufgeschlüsselten Zeitstruktur nicht. .SH RÜCKGABEWERT Im Erfolgsfall liefern \fBgmtime\fP() und \fBlocaltime\fP() einen Zeiger auf ein \fIstruct\ tm\fP zurück. .PP Im Erfolgsfall liefern \fBgmtime_r\fP() und \fBlocaltime_r\fP() die Adresse der Struktur zurück, auf die \fIresult\fP zeigt. .PP Im Erfolgsfall liefern \fBasctime\fP() und \fBctime\fP() einen Zeiger auf eine Zeichenkette zurück. .PP Im Erfolgsfall liefern \fBasctime_r\fP() und \fBctime_r\fP() einen Zeiger zurück, auf den \fIbuf\fP zeigt. .PP Im Erfolgsfall liefert \fBmktime\fP() die Kalenderzeit (Sekunden seit der Epoch) zurück, ausgedrückt als Wert des Typs \fItime_t\fP. .PP Im Fehlerfall liefert \fBmktime\fP() den Wert \fI(time_t)\ \-1\fP zurück. Die verbliebenen Funktionen liefern NULL im Fehlerfall zurück. Im Fehlerfall wird \fIerrno\fP gesetzt, um die Fehlerursache anzuzeigen. .SH FEHLER .TP \fBEOVERFLOW\fP Das Ergebnis kann nicht dargestellt werden. .SH ATTRIBUTE Siehe \fBattributes\fP(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke. .ad l .TS allbox; lbw14 lb lbw31 l l l. Schnittstelle Attribut Wert T{ \fBasctime\fP() T} Multithread\-Fähigkeit MT\-Unsafe race:asctime locale T{ \fBasctime_r\fP() T} Multithread\-Fähigkeit MT\-Safe locale T{ \fBctime\fP() T} Multithread\-Fähigkeit T{ MT\-Unsafe race:tmbuf .br race:asctime env locale T} T{ \fBctime_r\fP(), \fBgmtime_r\fP(), \fBlocaltime_r\fP(), \fBmktime\fP() T} Multithread\-Fähigkeit MT\-Safe env locale T{ \fBgmtime\fP(), \fBlocaltime\fP() T} Multithread\-Fähigkeit MT\-Unsafe race:tmbuf env locale .TE .ad .SH "KONFORM ZU" POSIX.1\-2001. C89 und C99 spezifizieren \fBasctime\fP(), \fBctime\fP(), \fBgmtime\fP(), \fBlocaltime\fP() und \fBmktime\fP(). POSIX.1\-2008 kennzeichnet \fBasctime_r\fP(), \fBctime\fP() und \fBctime_r\fP() als veraltet und empfiehlt stattdessen die Benutzung von \fBstrftime\fP(3). .SH ANMERKUNGEN Die vier Funktionen \fBasctime\fP(), \fBctime\fP(), \fBgmtime\fP() und \fBlocaltime\fP() geben einen Zeiger auf statische Daten zurück und sind daher nicht multithread\-fähig. Multithread\-fähige Versionen \fBasctime_r\fP(), \fBctime_r\fP(), \fBgmtime_r\fP() und \fBlocaltime_r\fP werden durch SUSv2 spezifiziert. .PP POSIX.1\-2001 sagt: »Die Funktionen \fBasctime\fP(), \fBctime\fP(), \fBgmtime\fP() und \fBlocaltime\fP() müssen Rückgabewerte in einem von zwei statischen Objekten liefern: einer aufgeschlüsselten Zeit und einem Feld des Typs \fIchar\fP. 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. .PP In vielen Implementierungen, einschließlich Glibc, wird a 0 in \fItm_mday\fP als letzter Tag des vorhergehenden Monats interpretiert. .PP Die Glibc\-Version von \fIstruct tm\fP hat zusätzliche Felder. .PP .in +4n .EX const char *tm_zone; /* Abkürzung der Zeitzone */ .EE .in .PP definiert, wenn \fB_BSD_SOURCE\fP gesetzt war, bevor \fI\fP eingebunden wurde. Dies ist eine BSD\-Erweiterung, die in 4.3BSD\-Reno enthalten ist. .PP .\" See http://thread.gmane.org/gmane.comp.time.tz/2034/ Gemäß POSIX.1\-2004 wird \fBlocaltime\fP() benötigt, um sich so zu verhalten, als sei \fBtzset\fP(3) aufgerufen worden, während \fBlocaltime_r\fP() nicht diese Anforderung stellt. Für portierbaren Code sollte \fBtzset\fP(3) vor \fBlocaltime_r\fP() aufgerufen werden. .SH "SIEHE AUCH" \fBdate\fP(1), \fBgettimeofday\fP(2), \fBtime\fP(2), \fButime\fP(2), \fBclock\fP(3), \fBdifftime\fP(3), \fBstrftime\fP(3), \fBstrptime\fP(3), \fBtimegm\fP(3), \fBtzset\fP(3), \fBtime\fP(7) .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 5.04 des Projekts Linux\-\fIman\-pages\fP. 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/. .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother , Chris Leick , Mario Blättermann und Helge Kreutzmann erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE 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 .MT debian-l10n-german@\:lists.\:debian.\:org Mailingliste der Übersetzer .ME .