Rechercher une page de manuel
ctime
Langue: pl
Version: 2001-12-13 (openSuse - 09/10/07)
Section: 3 (Bibliothèques de fonctions)
NAZWA
asctime, ctime, gmtime, localtime, mktime - konwersja daty i czasu do postaci czasu roz³o¿onego lub ASCIISK£ADNIA
#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, reprezentuj±cy czas kalendarzowy. Zinterpretowany jako bezwzglêdna warto¶æ czasu, okre¶la on ilo¶æ sekund, jakie up³ynê³y od godziny 00:00:00 1 stycznia 1970 czasu Coordinated Universal Time (UTC).Funkcje asctime() oraz mktime() przyjmuj± jako argument czas roz³o¿ony, który jest reprezentacj± podzielon± na rok, miesi±c, dzieñ itd.
Czas roz³o¿ony jest przechowywany w strukturze tm, zdefiniowanej w <time.h> nastêpuj±co:
-
struct tm { int tm_sec; /* sekundy */ int tm_min; /* minuty */ int tm_hour; /* godziny */ int tm_mday; /* dzieñ miesi±ca */ int tm_mon; /* miesi±c */ 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 pe³nej minucie, normalnie z zakresu od 0 do 59, ale mo¿e wynosiæ nawet do 61, aby umo¿liwiæ sekundy przestêpne.
- tm_min
- Liczba minut po pe³nej godzinie, z zakresu od 0 do 59.
- tm_hour
- Liczba godzin po pó³nocy, z zakresu od 0 do 23.
- tm_mday
- Dzieñ tygodnia, z zakresu od 1 do 31.
- tm_mon
- Liczba miesiêcy 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, który wskazuje, czy dla podanego czasu zosta³a przeprowadzona zmiana czasu zimowy/letni. Je¶li warto¶æ ta jest dodatnia, to zmiana czasu zosta³a przeprowadzona, je¶li wynosi zero - zmiany nie przeprowadzono, a je¶li jest ujemna - oznacza to, ¿e informacja dotycz±ca zmiany czasu nie jest dostêpna.
Wywo³anie ctime(t) jest równowa¿ne asctime(localtime(t)). Przekszta³ca ono czas kalendarzowy t na ³añcuch o postaci
- "¶ro sty 30 21:49:08 1993\n"
Skróty dni tygodnia to `nie', `pon', `wto', `¶ro', `czw', `pi±' i `sob'. Skróty miesiêcy to `sty', `lut', `mar', `kwi', `maj', `cze', `lip', `sie', `wrz', `pa¼', `lis' i `gru'. Zwracany jest wska¼nik do statycznego ³añcucha, który to ³añcuch mo¿e zostaæ nadpisany przy kolejnym wywo³aniu dowolnej funkcji daty i czasu. Funkcja zapisuje równie¿ informacje na temat aktualnej strefy czasowej do zewnêtrznej zmiennej tzname (patrz tzset(3)). Wielowej¶ciowa wersja tej funkcji, ctime_r(), robi to samo, ale zapisuje ³añcuch w podanym przez u¿ytkownika buforze o d³ugo¶ci co najmniej 26. Nie musi ona ustawiaæ tzname.
Funkcja gmtime() przekszta³ca czas kalendarzowy timep na czas roz³o¿ony, wyra¿ony w Coordinated Universal Time (UTC). Mo¿e ona zwróciæ warto¶æ NULL, je¶li rok nie daje siê zapisaæ jako liczba ca³kowita. Zwracany jest wska¼nik do statycznej struktury, która to struktura mo¿e zostaæ nadpisana przy kolejnym wywo³aniu dowolnej funkcji daty i czasu. Funkcja gmtime_r() robi to samo, ale zapisuje dane do struktury podanej przez u¿ytkownika. Nie musi ona ustawiaæ tzname.
Funkcja localtime() przekszta³ca czas kalendarzowy timep na czas roz³o¿ony, wyra¿ony wzglêdem wybranej przez u¿ytkownika strefy czasowej. Funkcja dzia³a tak, jakby wywo³ywa³a tzset(3) i wpisywa³a do zewnêtrznej zmiennej tzname informacje na temat aktualnej strefy czasowej, do timezone - ró¿nicê w sekundach pomiêdzy Coordinated Universal Time (UTC) a lokalnym czasem standardowym, a do daylight - warto¶æ niezerow± je¶li przez jak±¶ czê¶æ roku obowi±zuje inny czas ni¿ podany (zimowy/letni). Zwracany jest wska¼nik do statycznej struktury, która to struktura mo¿e zostaæ nadpisana przy kolejnym wywo³aniu dowolnej funkcji daty i czasu. Funkcja localtime_r() robi to samo, ale zapisuje dane do struktury podanej przez u¿ytkownika. Nie musi ona ustawiaæ tzname.
Funkcja asctime() przekszta³ca czas roz³o¿ony tm na ³añcuch tego samego formatu, co ctime(). Zwracany jest wska¼nik do statycznego ³añcucha, który to ³añcuch mo¿e zostaæ nadpisany przy kolejnym wywo³aniu dowolnej funkcji daty i czasu. Funkcja asctime_r() robi to samo, ale zapisuje ³añcuch w podanym przez u¿ytkownika buforze o d³ugo¶ci co najmniej 26.
Funkcja mktime() przekszta³ca strukturê czasu roz³o¿onego, wyra¿on± w czasie lokalnym, na czas kalendarzowy. Funkcja ignoruje warto¶ci elementów tm_wday i tm_yday i oblicza je ponownie na podstawie innych informacji ze struktury czasu roz³o¿onego. Je¶li elementy struktury maj± warto¶ci spoza zakresu warto¶ci dopuszczalnych, to zostana znormalizowane (w taki sposób, ¿e np. 40 pa¼dziernika zostanie zamieniony na 9 listopada). Wywo³anie mktime() zapisuje równie¿ informacje na temat aktualnej strefy czasowej do zewnêtrznej zmiennej tzname. Je¶li podany czas roz³o¿ony nie mo¿e zostaæ przedstawiony jako czas kalendarzowy (liczba sekund od pocz±tku epoki), mktime() zwraca warto¶æ (time_t)(-1) i nie zmienia warto¶ci elementów tm_wday i tm_yday struktury czasu roz³o¿onego.
WARTO¦Æ ZWRACANA
Ka¿da z tych funkcji zwraca opisan± powy¿ej warto¶æ lub NULL (-1 w przypadku mktime()) w razie wyst±pienia b³êdu.UWAGI
Nastêpuj±ce cztery funkcje acstime(), ctime(), gmtime() i localtime() zwracaj± wska¼nik do statycznych danych i w zwi±zku z tym nie s± przystosowane do wielow±tkowo¶ci. Wielow±tkowe wersje acstime_r(), ctime_r(), gmtime_r() i localtime_r() s± wymienione w SUSv2 i dostêpne pocz±wszy od libc 5.2.5.Wersja struktury tm zawarta w glibc posiada dodatkowe pola
-
long tm_gmtoff; /* Sekundy na wschód od UTC */ const char *tm_tm_zone; /* Skrót strefy czasowej */
zdefiniowane, gdy _BSD_SOURCE jest ustawione przed w³±czeniem <time.h>. Jest to rozszerzenie BSD, obecnie w 4.3BSD-Reno.
ZGODNE Z
SVID 3, POSIX, BSD 4.3, ISO 9899ZOBACZ TAK¯E
date(1), gettimeofday(2), newctime(3), time(2), utime(2), clock(3), difftime(3), strftime(3), strptime(3), tzset(3)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre