Provided by:
manpages-pl-dev_20060617-3_all 
NAZWA
asctime, ctime, gmtime, localtime, mktime - konwersja daty i czasu do
postaci czasu rozloonego lub ASCII
SK/LADNIA
#include <time.h>
char *asctime(const struct tm *tm);
char *asctime_r(const struct tm *tm, char *buf);
char *ctime(const time_t *timep);
char *ctime_r(const time_t *timep, char *buf);
struct tm *gmtime(const time_t *timep);
struct tm *gmtime_r(const time_t *timep, struct tm *result);
struct tm *localtime(const time_t *timep);
struct tm *localtime_r(const time_t *timep, struct tm *result);
time_t mktime(struct tm *tm);
OPIS
Funkcje ctime(), gmtime() oraz localtime() przyjmuj argument typu
time_t, reprezentujcy czas kalendarzowy. Zinterpretowany jako
bezwzgldna warto czasu, okrela on ilo sekund, jakie uplynly od godziny
00:00:00 1 stycznia 1970 czasu Coordinated Universal Time (UTC).
Funkcje asctime() oraz mktime() przyjmuj jako argument czas rozloony,
ktory jest reprezentacj podzielon na rok, miesic, dzie itd.
Czas rozloony jest przechowywany w strukturze tm, zdefiniowanej w
<time.h> nastpujco:
struct tm {
int tm_sec; /* sekundy */
int tm_min; /* minuty */
int tm_hour; /* godziny */
int tm_mday; /* dzie miesica */
int tm_mon; /* miesic */
int tm_year; /* rok */
int tm_wday; /* dzie tygodnia */
int tm_yday; /* dzie roku */
int tm_isdst; /* sezonowa zmiana czasu */
};
Elementy struktury tm to:
tm_sec Liczba sekund po pelnej minucie, normalnie z zakresu od 0 do 59,
ale moe wynosi nawet do 61, aby umoliwi sekundy przestpne.
tm_min Liczba minut po pelnej godzinie, z zakresu od 0 do 59.
tm_hour
Liczba godzin po polnocy, z zakresu od 0 do 23.
tm_mday
Dzie tygodnia, z zakresu od 1 do 31.
tm_mon Liczba miesicy od stycznia, z zakresu od 0 do 11.
tm_year
Liczba lat od 1900.
tm_wday
Liczba dni od niedzieli, z zakresu od 0 do 6.
tm_yday
Liczba dni od 1 stycznia, z zakresu od 0 do 365.
tm_isdst
Znacznik, ktory wskazuje, czy dla podanego czasu zostala
przeprowadzona zmiana czasu zimowy/letni. Jeli warto ta jest
dodatnia, to zmiana czasu zostala przeprowadzona, jeli wynosi
zero - zmiany nie przeprowadzono, a jeli jest ujemna - oznacza
to, e informacja dotyczca zmiany czasu nie jest dostpna.
Wywolanie ctime(t) jest rownowane asctime(localtime(t)). Przeksztalca
ono czas kalendarzowy t na lacuch o postaci
"ro sty 30 21:49:08 1993\n"
Skroty dni tygodnia to `nie', `pon', `wto', `ro', `czw', `pi' i `sob'.
Skroty miesicy to `sty', `lut', `mar', `kwi', `maj', `cze', `lip',
`sie', `wrz', `pa', `lis' i `gru'. Zwracany jest wskanik do statycznego
lacucha, ktory to lacuch moe zosta nadpisany przy kolejnym wywolaniu
dowolnej funkcji daty i czasu. Funkcja zapisuje rownie informacje na
temat aktualnej strefy czasowej do zewntrznej zmiennej tzname (patrz
tzset(3)). Wielowejciowa wersja tej funkcji, ctime_r(), robi to samo,
ale zapisuje lacuch w podanym przez uytkownika buforze o dlugoci co
najmniej 26. Nie musi ona ustawia tzname.
Funkcja gmtime() przeksztalca czas kalendarzowy timep na czas rozloony,
wyraony w Coordinated Universal Time (UTC). Moe ona zwroci warto NULL,
jeli rok nie daje si zapisa jako liczba calkowita. Zwracany jest
wskanik do statycznej struktury, ktora to struktura moe zosta nadpisana
przy kolejnym wywolaniu dowolnej funkcji daty i czasu. Funkcja
gmtime_r() robi to samo, ale zapisuje dane do struktury podanej przez
uytkownika. Nie musi ona ustawia tzname.
Funkcja localtime() przeksztalca czas kalendarzowy timep na czas
rozloony, wyraony wzgldem wybranej przez uytkownika strefy czasowej.
Funkcja dziala tak, jakby wywolywala tzset(3) i wpisywala do zewntrznej
zmiennej tzname informacje na temat aktualnej strefy czasowej, do
timezone - ronic w sekundach pomidzy Coordinated Universal Time (UTC) a
lokalnym czasem standardowym, a do daylight - warto niezerow jeli przez
jak cz roku obowizuje inny czas ni podany (zimowy/letni). Zwracany
jest wskanik do statycznej struktury, ktora to struktura moe zosta
nadpisana przy kolejnym wywolaniu dowolnej funkcji daty i czasu.
Funkcja localtime_r() robi to samo, ale zapisuje dane do struktury
podanej przez uytkownika. Nie musi ona ustawia tzname.
Funkcja asctime() przeksztalca czas rozloony tm na lacuch tego samego
formatu, co ctime(). Zwracany jest wskanik do statycznego lacucha,
ktory to lacuch moe zosta nadpisany przy kolejnym wywolaniu dowolnej
funkcji daty i czasu. Funkcja asctime_r() robi to samo, ale zapisuje
lacuch w podanym przez uytkownika buforze o dlugoci co najmniej 26.
Funkcja mktime() przeksztalca struktur czasu rozloonego, wyraon w
czasie lokalnym, na czas kalendarzowy. Funkcja ignoruje wartoci
elementow tm_wday i tm_yday i oblicza je ponownie na podstawie innych
informacji ze struktury czasu rozloonego. Jeli elementy struktury maj
wartoci spoza zakresu wartoci dopuszczalnych, to zostana znormalizowane
(w taki sposob, e np. 40 padziernika zostanie zamieniony na 9
listopada). Wywolanie mktime() zapisuje rownie informacje na temat
aktualnej strefy czasowej do zewntrznej zmiennej tzname. Jeli podany
czas rozloony nie moe zosta przedstawiony jako czas kalendarzowy
(liczba sekund od pocztku epoki), mktime() zwraca warto (time_t)(-1) i
nie zmienia wartoci elementow tm_wday i tm_yday struktury czasu
rozloonego.
WARTO ZWRACANA
Kada z tych funkcji zwraca opisan powyej warto lub NULL (-1 w przypadku
mktime()) w razie wystpienia bldu.
UWAGI
Nastpujce cztery funkcje acstime(), ctime(), gmtime() i localtime()
zwracaj wskanik do statycznych danych i w zwizku z tym nie s
przystosowane do wielowtkowoci. Wielowtkowe wersje acstime_r(),
ctime_r(), gmtime_r() i localtime_r() s wymienione w SUSv2 i dostpne
poczwszy od libc 5.2.5.
Wersja struktury tm zawarta w glibc posiada dodatkowe pola
long tm_gmtoff; /* Sekundy na wschod od UTC */
const char *tm_tm_zone; /* Skrot strefy czasowej */
zdefiniowane, gdy _BSD_SOURCE jest ustawione przed wlczeniem <time.h>.
Jest to rozszerzenie BSD, obecnie w 4.3BSD-Reno.
ZGODNE Z
SVID 3, POSIX, BSD 4.3, ISO 9899
ZOBACZ TAKE
date(1), gettimeofday(2), newctime(3), time(2), utime(2), clock(3),
difftime(3), strftime(3), strptime(3), tzset(3)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.
2001-12-13 CTIME(3)