time(2)

NUME
time - obține timpul în secunde

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#include <time.h>

time_t time(time_t *_Nullable tloc);

DESCRIERE
time() returnează timpul ca număr de secunde de la Epoca, 1970-01-01 00:00:00:00 +0000 (UTC).

Dacă tloc nu este NULL, valoarea de returnare este, de asemenea, stocată în memoria indicată de tloc.

VALOAREA RETURNATĂ
În caz de succes, se returnează valoarea timpului în secunde de la Epoca (Epoch). În caz de eroare, se returnează ((time_t) -1), iar errno este configurată pentru a indica eroarea.

ERORI

EFAULT
    tloc indică în afara spațiului de adrese accesibil (dar consultați ERORI).

    Pe sistemele în care funcția de învăluire a bibliotecii C time() invocă o implementare furnizată de vdso(7) (astfel încât să nu existe o captură în nucleu), o adresă nevalidă poate declanșa în schimb un semnal SIGSEGV.

STANDARDE
SVr4, 4.3BSD, C99, POSIX.1-2001. POSIX nu specifică nicio condiție de eroare.

NOTE
POSIX.1 definește secunde de la Epoca folosind o formulă care aproximează numărul de secunde dintre un moment specificat și Epoca. Această formulă ia în considerare faptul că toți anii care sunt divizibili în mod egal cu 4 sunt ani bisecți, dar anii care sunt divizibili în mod egal cu 100 nu sunt ani bisecți decât dacă sunt, de asemenea, divizibili în mod egal cu 400, caz în care sunt ani bisecți. Această valoare nu este identică cu numărul real de secunde dintre oră și Epoca, din cauza secundelor bisecte și a faptului că ceasurile de sistem nu trebuie să fie sincronizate cu o referință standard. Intenția este ca interpretarea secundelor de la valorile Epocii să fie consecventă; a se vedea POSIX.1-2008 Rationale A.4.15 pentru o justificare suplimentară.

În Linux, un apel la time() cu tloc specificat ca fiind NULL nu poate eșua cu eroarea EOVERFLOW, chiar și în cazul ABI-urilor în care time_t este un număr întreg pe 32 de biți cu semn și ceasul atinge sau depășește 2**31 secunde (2038-01-19 03:14:08 UTC, ignorând secundele bisecte). (POSIX.1 permite, dar nu necesită, eroarea EOVERFLOW în cazul în care secundele de la Epoca nu încap în time_t). În schimb, comportamentul în Linux este nedefinit atunci când ora sistemului este în afara intervalului time_t. Aplicațiile destinate să ruleze după 2038 ar trebui să utilizeze ABI-uri cu time_t mai largi de 32 de biți.

ERORI
Returnările de eroare de la acest apel de sistem nu pot fi deosebite de rapoartele de succes care indică faptul că timpul este cu câteva secunde înainte de Epoca, astfel încât funcția de învăluire a bibliotecii C nu configurează niciodată errno ca rezultat al acestui apel.

Argumentul tloc este învechit și ar trebui să fie întotdeauna NULL în codul nou. Atunci când tloc este NULL, apelul nu poate eșua.

  Diferențe între biblioteca C și nucleu
Pe unele arhitecturi, o implementare a time() este furnizată în vdso(7).

CONSULTAȚI ȘI
date(1), gettimeofday(2), ctime(3), ftime(3), time(7), vdso(7)

TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.