Provided by: manpages-pl-dev_20060617-3_all bug

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)