time(2)

BEZEICHNUNG
time - Zeit in Sekunden abfragen

BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT
#include <time.h>

time_t time(time_t *_Nullable tloc);

BESCHREIBUNG
time() gibt die Zeit als Anzahl der Sekunden seit dem Beginn der Unixzeit am 1.1.1970, 00:00:00 +0000 (UTC) an.

Falls tloc nicht NULL ist, wird der Rückgabewert auch im Speicher an der Stelle abgelegt, auf die tloc zeigt.

RÜCKGABEWERT
Bei Erfolg wird die Zeit seit Beginn der Unixzeit in Sekunden zurückgegeben. Tritt ein Fehler auf, wird ((time_t) -1) zurückgegeben und errno gesetzt, um den Fehler anzuzeigen.

FEHLER

EOVERFLOW
    Die Zeit kann nicht als ein time_t-Wert dargestellt werden. Dies kann passieren, wenn ein Programm mit einem 32 bit time_t auf einem 64-bit-Kernel ausgeführt wird, wenn die Zeit 2038-01-19 03:14:08 UTC oder später ist. Ist die Systemzeit in anderen Situationen außerhalb des Bereichs von time_t ist das Verhalten allerdings undefiniert.

EFAULT
    tloc zeigt außerhalb Ihres verfügbaren Adressbereichs (siehe aber auch FEHLER).

    Auf Systemen, auf denen die C-Bibliothek-time()-Wrapper-Funktion eine von vdso(7) bereitgestellte Implementierung aufruft (so dass es keine Verbindung in den Kernel gibt), kann eine ungültige Adresse stattdessen ein SIGSEGV-Signal auslösen.

VERSIONEN
POSIX.1 definiert die Sekunden seit Anfang der Unixzeit mittels einer Formel, die die Anzahl der Sekunden zwischen einem bestimmten Zeitpunkt und dem Anfang der »Unixzeit« abschätzt. Diese Formel berücksichtigt die Tatsache, dass alle durch vier ohne Rest teilbaren Jahre Schaltjahre sind. Alle durch 100 ohne Rest teilbaren Jahre sind keine Schaltjahre, es sei denn, sie sind gleichzeitig durch 400 ohne Rest teilbar, dann sind es wiederum Schaltjahre. Dieser Wert entspricht nicht der tatsächlichen Anzahl an Sekunden zwischen dem angegebenen Zeitpunkt und dem Anfang der »Unixzeit«, weil Schaltsekunden nicht berücksichtigt werden und es nicht erforderlich ist, dass Systemuhren mit einer Standardreferenz synchronisiert werden. Linux-System folgen normalerweise der POSIX-Anforderung, dass dieser Wert Schaltsekunden ignoriert, so dass standardgerechte Systeme ihn konsistent interpretieren; siehe POSIX.1-2018 Rationale A.4.16.

Anwendungen, die nach 2038 laufen sollen, sollten ABIs mit time_t breiter als 32 bit verwenden, siehe time_t(3type).

  Unterschiede C-Bibliothek/Kernel
Auf einigen Architekturen wird eine Implementierung von time() in einem vdso(7) bereitgestellt.

STANDARDS
C11, POSIX.1-2024.

GESCHICHTE
SVr4, 4.3BSD, C89, POSIX.1-2001, V7.

FEHLER
Fehler, die von diesem Systemaufruf zurückgegeben werden, sind nicht von erfolgreichen Berichten, dass die Zeit ein paar Sekunden vor der Unixzeit liegt, zu unterscheiden. Daher kann die C-Bibliothek-Wrapper-Funktion errno nie als Ergebnis dieses Aufrufs setzen.

Das Argument tloc ist veraltet und sollte in neuem Code immer NULL sein. Wenn tloc NULL ist, kann der Aufruf nicht fehlschlagen.

SIEHE AUCH
date(1), gettimeofday(2), ctime(3), ftime(3), time(7), vdso(7)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Michael Haardt <michael@moria.de>, Ralf Demmer <rdemmer@rdemmer.de>, Chris Leick <c.leick@vollbio.de> und Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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 (debian-l10n-german@lists.debian.org).