Provided by: manpages-pl-dev_0.5-1_all bug

NAZWA

       asctime,  ctime,  gmtime,  localtime,  mktime  -  konwersja  daty i czasu do postaci czasu
       rozłożonego lub ASCII

SKŁ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

        Uwaga! To tłumaczenie może być nieaktualne!

       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 9899

ZOBACZ TAKŻE

       date(1),   gettimeofday(2),   newctime(3),   time(2),   utime(2),  clock(3),  difftime(3),
       strftime(3), strptime(3), tzset(3)

INFORMACJE O TŁUMACZENIU

       Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia  Manuali  i  może
       nie  być  aktualne.  W  razie  zauważenia  różnic  między  powyższym opisem a rzeczywistym
       zachowaniem opisywanego programu lub  funkcji,  prosimy  o  zapoznanie  się  z  oryginalną
       (angielską) wersją strony podręcznika za pomocą polecenia:

              man --locale=C 3 ctime

       Prosimy  o  pomoc  w  aktualizacji stron man - więcej informacji można znaleźć pod adresem
       http://sourceforge.net/projects/manpages-pl/.

                                            2001-12-13                                   CTIME(3)