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)