.\" -*- coding: UTF-8 -*- '\" t .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getdate 3 "17 mai 2025" "Pagini de manual de Linux 6.15" .SH NUME getdate, getdate_r \- convertește un șir de caractere care conține data și ora într\-un format de timp defalcat .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBstruct tm *getdate(const char *\fP\fIstring\fP\fB);\fP .P \fBextern int getdate_err;\fP .P \fBint getdate_r(const char *restrict \fP\fIstring\fP\fB, struct tm *restrict \fP\fIres\fP\fB);\fP .fi .P .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P \fBgetdate\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 .fi .P \fBgetdate_r\fP(): .nf _GNU_SOURCE .fi .SH DESCRIERE Funcția \fBgetdate\fP() convertește o reprezentare sub formă de șir a unei date și ore, conținută în tamponul indicat de \fIstring\fP, într\-o oră defalcată. Ora defalcată este stocată într\-o structură \fItm\fP, iar un indicator către această structură este returnat ca rezultat al funcției. Această structură \fItm\fP este alocată în memoria statică și, în consecință, va fi suprascrisă de apeluri ulterioare către \fBgetdate\fP(). .P Spre deosebire de \fBstrptime\fP(3) (care are un argument \fIformat\fP), \fBgetdate\fP() utilizează formatele găsite în fișierul al cărui nume complet este specificat în variabila de mediu \fBDATEMSK\fP. Prima linie din fișier care corespunde șirului de caractere introdus este utilizată pentru conversie. .P Potrivirea se face fără a ține cont de majuscule și minuscule. Spațiile albe inutile, fie în model, fie în șirul care urmează să fie convertit, sunt ignorate. .P Specificațiile de conversie pe care le poate conține un model sunt cele date pentru \fBstrptime\fP(3). O altă specificație de conversie este specificată în POSIX.1\-2001: .TP \fB%Z\fP .\" FIXME Is it (still) true that %Z is not supported in glibc? .\" Looking at the glibc 2.21 source code, where the implementation uses .\" strptime(), suggests that it might be supported. Numele fusului orar. Acest lucru nu este implementat în glibc. .P Când se specifică \fB%Z\fP, structura care conține ora defalcată este inițializată cu valori corespunzătoare orei curente în fusul orar specificat. În caz contrar, structura este inițializată cu ora defalcată corespunzătoare orei locale curente (ca urmare a apelului la \fBlocaltime\fP(3)). .P Când se specifică doar ziua săptămânii, se consideră că ziua respectivă este prima zi de acest fel din ziua de azi sau din zilele următoare. .P Când se specifică doar luna (și nu anul), se consideră că luna este prima lună egală cu sau ulterioară lunii curente. Dacă nu se specifică ziua, se consideră că este prima zi a lunii. .P Când nu sunt specificate ora, minutul și secunda, se iau ora, minutul și secunda curente. .P Dacă nu este specificată data, dar cunoaștem ora, atunci acea oră este considerată prima oră egală sau ulterioară orei curente. .P \fBgetdate_r\fP() este o extensie GNU care oferă o versiune reentrantă a \fBgetdate\fP(). În loc să utilizeze o variabilă globală pentru a raporta erorile și un tampon static pentru a returna timpul defalcat, aceasta returnează erorile prin valoarea rezultatului funcției și returnează timpul defalcat rezultat în tamponul alocat de apelant, indicat de argumentul \fIres\fP. .SH "VALOAREA RETURNATĂ" Când are succes, \fBgetdate\fP() returnează un indicator către o structură \fIstruct tm\fP. În caz contrar, returnează NULL și definește variabila globală \fIgetdate_err\fP la unul dintre numerele de eroare prezentate mai jos. Modificările aduse \fIerrno\fP sunt nespecificate. .P În caz de succes, \fBgetdate_r\fP() returnează 0; în caz de eroare, returnează unul dintre numerele de eroare prezentate mai jos. .SH ERORI\-IEȘIRE Următoarele erori sunt returnate prin \fIgetdate_err\fP (pentru \fBgetdate\fP()) sau ca rezultat al funcției (pentru \fBgetdate_r\fP()): .TP 4n \fB1\fP Variabila de mediu \fBDATEMSK\fP nu este definită sau valoarea sa este un șir gol. .TP \fB2\fP Fișierul şablon specificat de \fBDATEMSK\fP nu poate fi deschis pentru citire. .TP \fB3\fP .\" stat() Nu s\-au putut obține informații despre starea fișierului. .TP \fB4\fP Fișierul șablon nu este un fișier obișnuit. .TP \fB5\fP A apărut o eroare la citirea fișierului șablon. .TP \fB6\fP .\" Error 6 doesn't seem to occur in glibc Alocarea memoriei a eșuat (memorie insuficientă disponibilă). .TP \fB7\fP Nu există nicio linie în fișier care să corespundă cu intrarea. .TP \fB8\fP Specificație de intrare nevalidă. .SH MEDIU .TP \fBDATEMSK\fP Fișier care conține modele de format. .TP \fBTZ\fP .TQ \fBLC_TIME\fP Variabilele utilizate de \fBstrptime\fP(3). .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. Interfață Atribut Valoare T{ .na .nh \fBgetdate\fP() T} Siguranța firelor T{ .na .nh MT\-Unsafe race:getdate env locale T} T{ .na .nh \fBgetdate_r\fP() T} Siguranța firelor T{ .na .nh MT\-Safe env locale T} .TE .SH VERSIUNI Specificația POSIX.1 pentru \fBstrptime\fP(3) conține specificații de conversie care utilizează modificatorul \fB%E\fP sau \fB%O\fP, în timp ce astfel de specificații nu sunt furnizate pentru \fBgetdate\fP(). În glibc, \fBgetdate\fP() este implementată utilizând \fBstrptime\fP(3), astfel încât ambele să accepte exact aceleași conversii. .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001. .SH EXEMPLE Programul de mai jos apelează \fBgetdate\fP() pentru fiecare dintre argumentele sale din linia de comandă și, pentru fiecare apel, afișează valorile din câmpurile structurii \fItm\fP returnate. Următoarea sesiune shell demonstrează funcționarea programului: .P .in +4n .EX $\fB TFILE=$PWD/tfile\fP $\fB echo \[aq]%A\[aq] > $TFILE \fP # Numele complet al zilei săptămânii $\fB echo \[aq]%T\[aq] >> $TFILE\fP # Ora (HH:MM:SS) $\fB echo \[aq]%F\[aq] >> $TFILE\fP # Data ISO (AAAA\-LL\-ZZ) $\fB date\fP $\fB export DATEMSK=$TFILE\fP $\fB ./a.out Tuesday \[aq]2009\-12\-28\[aq] \[aq]12:22:33\[aq]\fP Sun Sep 7 06:03:36 CEST 2008 Call 1 ("Tuesday") succeeded: tm_sec = 36 tm_min = 3 tm_hour = 6 tm_mday = 9 tm_mon = 8 tm_year = 108 tm_wday = 2 tm_yday = 252 tm_isdst = 1 Call 2 ("2009\-12\-28") succeeded: tm_sec = 36 tm_min = 3 tm_hour = 6 tm_mday = 28 tm_mon = 11 tm_year = 109 tm_wday = 1 tm_yday = 361 tm_isdst = 0 Call 3 ("12:22:33") succeeded: tm_sec = 33 tm_min = 22 tm_hour = 12 tm_mday = 7 tm_mon = 8 tm_year = 108 tm_wday = 0 tm_yday = 250 tm_isdst = 1 .EE .in .SS "Sursa programului" .\" SRC BEGIN (getdate.c) \& .EX #define _GNU_SOURCE #include #include #include \& int main(int argc, char *argv[]) { struct tm *tmp; \& for (size_t j = 1; j < argc; j++) { tmp = getdate(argv[j]); \& if (tmp == NULL) { printf("Call %zu failed; getdate_err = %d\[rs]n", j, getdate_err); continue; } \& printf("Call %zu (\[rs]"%s\[rs]") succeeded:\[rs]n", j, argv[j]); printf(" tm_sec = %d\[rs]n", tmp\->tm_sec); printf(" tm_min = %d\[rs]n", tmp\->tm_min); printf(" tm_hour = %d\[rs]n", tmp\->tm_hour); printf(" tm_mday = %d\[rs]n", tmp\->tm_mday); printf(" tm_mon = %d\[rs]n", tmp\->tm_mon); printf(" tm_year = %d\[rs]n", tmp\->tm_year); printf(" tm_wday = %d\[rs]n", tmp\->tm_wday); printf(" tm_yday = %d\[rs]n", tmp\->tm_yday); printf(" tm_isdst = %d\[rs]n", tmp\->tm_isdst); } \& exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "CONSULTAȚI ȘI" \fBtime\fP(2), \fBlocaltime\fP(3), \fBsetlocale\fP(3), \fBstrftime\fP(3), \fBstrptime\fP(3) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .