tzset(3) Library Functions Manual tzset(3) NUME tzset, tzname, timezone, daylight - iniializeaza informaiile de conversie a orei BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include void tzset(void); extern char *tzname[2]; extern long timezone; extern int daylight; Cerine pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultai feature_test_macros(7)): tzset(): _POSIX_C_SOURCE tzname: _POSIX_C_SOURCE timezone, daylight: _XOPEN_SOURCE || /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _SVID_SOURCE DESCRIERE Funcia tzset() iniializeaza variabila tzname din variabila de mediu TZ. Aceasta funcie este apelata automat de catre celelalte funcii de conversie a orei care depind de fusul orar. Intr-un mediu de tip System-V, aceasta va defini, de asemenea, variabilele timezone (secunde la vest de UTC) i daylight (la 0 daca in acest fus orar nu exista reguli privind ora de vara sau la valoarea diferita de zero daca exista un moment, trecut, prezent sau viitor, in care se aplica ora de vara). Funcia tzset() iniializeaza aceste variabile la valori nespecificate daca acest fus orar este un fus orar geografic precum "America/New_York" (a se vedea mai jos). In cazul in care variabila TZ nu apare in mediu, se utilizeaza fusul orar al sistemului. Fusul orar al sistemului se configureaza prin copierea, sau legarea unui fiier in format tzfile(5) in /etc/localtime. O baza de date a fuselor orare din aceste fiiere poate fi localizata in directorul de fus orar al sistemului (a se vedea seciunea FIIERE de mai jos). In cazul in care variabila TZ apare in mediu, dar valoarea sa este goala sau valoarea sa nu poate fi interpretata folosind oricare dintre formatele specificate mai jos, se utilizeaza timpul universal coordonat (,,Coordinated Universal Time": UTC). O valoare nevida a lui TZ poate avea unul dintre cele doua formate, oricare dintre acestea putand fi precedat de doua puncte, care sunt ignorate. Primul format este un ir de caractere care reprezinta direct fusul orar care urmeaza sa fie utilizat: std decalaj[dst[decalaj][,inceput[/time],sfarit[/time]]] Specificaia nu conine spaii. irul std specifica o abreviere pentru fusul orar i trebuie sa fie format din trei sau mai multe caractere alfabetice. Atunci cand este cuprins intre semnele mai mic decat (<) i mai mare decat (>), setul de caractere este extins pentru a include semnul plus (+), semnul minus (-) i cifrele. irul decalaj urmeaza imediat dupa std i specifica valoarea timpului care trebuie adaugata la ora locala pentru a obine timpul universal coordonat (UTC). decalaj este pozitiv daca fusul orar local se afla la vest de meridianul de origine i negativ daca se afla la est. Ora trebuie sa fie cuprinsa intre 0 i 24, iar minutele i secundele intre 00 i 59: [+|-]hh[:mm[:ss]] irul dst i decalaj specifica numele i decalajul pentru fusul orar de vara corespunzator. In cazul in care decalajul este omis, acesta este implicit cu o ora inainte de ora standard. Campul inceput specifica momentul in care intra in vigoare ora de vara, iar campul sfarit specifica momentul in care se revine la ora standard. Aceste campuri pot avea urmatoarele formate: Jn Aceasta specifica ziua iuliana cu n intre 1 i 365. Zilele bisecte nu sunt luate in considerare. In acest format, ziua de 29 februarie nu poate fi reprezentata; 28 februarie este ziua 59, iar 1 martie este intotdeauna ziua 60. n Aceasta specifica ziua iuliana bazata pe zero, cu n intre 0 i 365. Ziua de 29 februarie este socotita in anii biseci. Ml.s.z Aceasta specifica ziua z (0 <= d <= 6) a saptamanii s (1 <= w <= 5) a lunii l (1 <= m <= 12). Saptamana 1 este prima saptamana in care apare ziua z, iar saptamana 5 este ultima saptamana in care apare ziua z. Ziua 0 este o duminica. Campurile time specifica momentul in care, in ora locala in vigoare, are loc trecerea la cealalta ora. Acestea utilizeaza acelai format ca i decalaj, cu excepia faptului ca ora poate fi in intervalul [-167, 167] pentru a reprezenta momente inainte i dupa ziua numita. Daca se omite, valoarea implicita este 02:00:00. Iata un exemplu pentru Noua Zeelanda, unde ora standard (NZST) este cu 12 ore inaintea UTC, iar ora de vara (NZDT), cu 13 ore inaintea UTC, se aplica din ultima duminica a lunii septembrie, la ora implicita 02:00:00, pana in prima duminica a lunii aprilie, la 03:00:00. TZ="NZST-12:00:00NZDT-13:00:00,M9.5.0,M4.1.0/3" Al doilea format - sau ,,geografic" - specifica faptul ca informaiile privind fusul orar ar trebui sa fie citite dintr-un fiier: filespec filespec specifica un fiier in format tzfile(5) din care sa se citeasca informaiile privind fusul orar. Daca filespec nu incepe cu un caracter ,,/", specificaia fiierului este relativa la directorul de fus orar al sistemului. Daca fiierul specificat nu poate fi citit sau interpretat, se utilizeaza timpul universal coordonat (UTC); cu toate acestea, aplicaiile nu trebuie sa depinda de valorile aleatorii filespec care reprezinta UTC, deoarece formatele TZ pot fi extinse in viitor. Iata un exemplu, din nou pentru Noua Zeelanda: TZ="Pacific/Auckland" MEDIU TZ Daca aceasta variabila este definita, valoarea ei are prioritate faa de fusul orar configurat de sistem. TZDIR Daca aceasta variabila este definita, valoarea ei are prioritate faa de ruta la directorul bazei de date a fusului orar configurat de sistem. FIIERE /etc/localtime Fiierul cu fusul orar al sistemului. /usr/share/zoneinfo/ Directorul bazei de date cu fusul orar al sistemului. /usr/share/zoneinfo/posixrules Atunci cand un ir TZ include un fus orar dst fara a fi urmat de nimic, atunci acest fiier este utilizat pentru regulile de inceput i sfarit. Acesta este in formatul tzfile(5). In mod prestabilit, fiierul Makefile zoneinfo face o legatura dura cu fiierul tzfile America/New_York. Cele de mai sus sunt locaiile standard actuale ale fiierelor, dar acestea sunt configurabile atunci cand glibc este compilata. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +---------------------------+---------------------+--------------------+ |Interfaa | Atribut | Valoare | +---------------------------+---------------------+--------------------+ |tzset() | Sigurana firelor | MT-Safe env locale | +---------------------------+---------------------+--------------------+ STANDARDE POSIX.1-2024. ISTORIC tzset() tzname POSIX.1-1988, SVr4, 4.3BSD. timezone daylight POSIX.1-2001 (XSI), SVr4, 4.3BSD. 4.3BSD avea o funcie char *timezone(zone, dst) care returna numele fusului orar corespunzator primului sau argument (minute la vest de UTC). Daca al doilea argument era 0, se folosea numele standard, in caz contrar se folosea versiunea pentru ora de vara. PRECAUII Deoarece valorile tzname, timezone i daylight sunt adesea nespecificate, iar accesarea lor poate duce la un comportament nedefinit in aplicaiile cu mai multe fire de execuie, codul ar trebui sa obina in schimb decalajul fusului orar i abrevierile din membrii tm_gmtoff i tm_zone ai structurii temporale defalcate tm(3type). ERORI Deoarece aceasta funcie nu raporteaza erori, nu exista nicio modalitate de a ti daca valoarea TZ reprezinta un fus orar valid. CONSULTAI I date(1), gettimeofday(2), time(2), ctime(3), getenv(3), tzfile(5) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.18 8 februarie 2026 tzset(3)