Provided by: manpages-pl-dev_4.18.1-1_all bug

NAZWA

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

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <time.h>

       char *asctime(const struct tm *tm);
       char *asctime_r(const struct tm *restrict tm,
                           char buf[restrict 26]);

       char *ctime(const time_t *timep);
       char *ctime_r(const time_t *restrict timep,
                           char buf[restrict 26]);

       struct tm *gmtime(const time_t *timep);
       struct tm *gmtime_r(const time_t *restrict timep,
                           struct tm *restrict result);

       struct tm *localtime(const time_t *timep);
       struct tm *localtime_r(const time_t *restrict timep,
                           struct tm *restrict result);

       time_t mktime(struct tm *tm);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       asctime_r(), ctime_r(), gmtime_r(), localtime_r():
           _POSIX_C_SOURCE
               || /* glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

OPIS

       Funkcje ctime(), gmtime() oraz localtime() przyjmują argument typu time_t,  reprezentujący
       czas  kalendarzowy.  Zinterpretowany jako bezwzględna wartość czasu określa liczbę sekund,
       jakie upłynęły od początku epoki, to jest od 1970-01-01 00:00:00 +0000 (UTC).

       Funkcje asctime() oraz  mktime()  przyjmują  jako  argument  czas  rozłożony,  który  jest
       reprezentacją podzieloną na rok, miesiąc, dzień itd.

       Broken-down time is stored in the structure tm, described in tm(3type).

       Wywołanie ctime(t) jest równoważne asctime(localtime(t)). Przekształca czas kalendarzowy t
       na zakończony znakiem null ł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 może zostać nadpisany przy  kolejnym
       wywołaniu  dowolnej  funkcji  daty i czasu. Funkcja zapisuje również informacje o bieżącej
       strefie czasowej do zewnętrznych zmiennych tzname, timezone i daylight  (patrz  tzset(3)).
       Wielowątkowa  wersja  tej funkcji, ctime_r(), robi to samo, ale zapisuje łańcuch w podanym
       przez użytkownika buforze, który powinien móc pomieścić co najmniej 26  znaków.  Nie  musi
       ona ustawiać zmiennych tzname, timezone, i daylight.

       Funkcja  gmtime()  przekształca  czas  kalendarzowy  timep  na  czas rozłożony, wyrażony w
       Coordinated Universal Time (UTC). Może 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.

       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 bieżącej 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  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ć zmiennych tzname, timezone i daylight.

       Funkcja  asctime()  przekształca  czas rozłożony tm na zakończony bajtem null ł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 bajtów.

       Funkcja mktime()  przekształca strukturę czasu rozłożonego, wyrażoną w czasie lokalnym, na
       czas kalendarzowy. Funkcja ignoruje podane przez wywołującego wartości  elementów  tm_wday
       oraz  tm_yday.  Wartość  podana  w polu tm_isdst informuje funkcję mktime() o tym, czy dla
       czasu podanego w strukturze tm używany był czas letni (DST - daylight  saving  time),  czy
       też  nie  był używany: wartość dodatnia oznacza, że DST był używany,  zero - że nie był, a
       wartość ujemna nakazuje funkcji mktime() podjęcie próby sprawdzenia  (w  systemowej  bazie
       danych informacji o strefach czasowych), czy DST był używany w podanym czasie.

       Funkcja  mktime()  modyfikuje  pola  struktury  tm  jak  następuje:  tm_wday  i tm_yday są
       ustawiane na wartości określane na podstawie wartości innych pól. Jeśli elementy struktury
       mają  wartości  spoza  zakresu  wartości dopuszczalnych, to zostaną znormalizowane (w taki
       sposób, że np.  40  października  zostanie  zamieniony  na  9  listopada).  tm_isdst  jest
       ustawiane  (niezależnie  od  jej  początkowej  wartości) na wartość dodatnią lub na 0, aby
       wskazać - odpowiednio  -  czy  w  podanym  czasie  DST  był  używany,  czy  też  nie  był.
       Uruchomienie  funkcji  mktime()  ustawia  także w zewnętrznej zmiennej tzname informacje o
       bieżącej strefie czasowej.

       Jeśli podany czas rozłożony nie może być reprezentowany jako czas kalendarzowy (sekundy od
       początku  epoki),   mktime() zwraca (time_t) -1 i nie zmienia pól w podzielonej strukturze
       czasu.

WARTOŚĆ ZWRACANA

       gmtime() oraz localtime(), gdy się zakończą pomyślnie, zwracają wskaźnik do struct tm.

       gmtime_r() oraz localtime_r(),  gdy  się  zakończą  pomyślnie,  zwracają  adres  struktury
       wskazywanej przez result.

       asctime() oraz ctime(), gdy się zakończą pomyślnie, zwracają wskaźnik do łańcucha znaków

       asctime_r()  oraz  ctime_r(),  gdy  się  zakończą pomyślnie, zwracają wskaźnik do łańcucha
       znaków, na który wskazuje argument buf.

       mktime, gdy zakończy się pomyślnie, zwraca czas  kalendarzowy  (w  sekundach  od  początku
       epoki [tj. 1970-01-01 00:00:00 +0000 -przyp. tłum.]), wyrażony jako wartość typu time_t

       On error, mktime()  returns the value (time_t) -1.  The remaining functions return NULL on
       error.  On error, errno is set to indicate the error.

BŁĘDY

       EOVERFLOW
              Wynik jest niereprezentowalny.

ATRYBUTY

       Informacje  o  pojęciach  używanych  w  tym  rozdziale   można   znaleźć   w   podręczniku
       attributes(7).

       ┌────────────────────────┬────────────────────────┬───────────────────────────────────────┐
       │InterfejsAtrybutWartość                               │
       ├────────────────────────┼────────────────────────┼───────────────────────────────────────┤
       │asctime()               │ Bezpieczeństwo wątkowe │ MT-Unsafe race:asctime locale         │
       ├────────────────────────┼────────────────────────┼───────────────────────────────────────┤
       │asctime_r()             │ Bezpieczeństwo wątkowe │ MT-Safe locale                        │
       ├────────────────────────┼────────────────────────┼───────────────────────────────────────┤
       │ctime()                 │ Bezpieczeństwo wątkowe │ MT-Unsafe race:tmbuf race:asctime env │
       │                        │                        │ locale                                │
       ├────────────────────────┼────────────────────────┼───────────────────────────────────────┤
       │ctime_r(), gmtime_r(),  │ Bezpieczeństwo wątkowe │ MT-Safe env locale                    │
       │localtime_r(), mktime() │                        │                                       │
       ├────────────────────────┼────────────────────────┼───────────────────────────────────────┤
       │gmtime(), localtime()   │ Bezpieczeństwo wątkowe │ MT-Unsafe race:tmbuf env locale       │
       └────────────────────────┴────────────────────────┴───────────────────────────────────────┘

STANDARDY

       POSIX.1-2001.   C99  specifies  asctime(),  ctime(),  gmtime(), localtime(), and mktime().
       POSIX.1-2008  marks  asctime(),  asctime_r(),  ctime(),  and   ctime_r()    as   obsolete,
       recommending the use of strftime(3)  instead.

       POSIX  doesn't  specify  the  parameters of ctime_r()  to be restrict; that is specific to
       glibc.

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.

       POSIX.1-2001 mówi: "Funkcje asctime(), ctime(), gmtime() oraz localtime() powinny  zwrócić
       wartości  w  jednym  z  dwóch statycznych obiektów: podzielonej strukturze czasu i tablicy
       znaków typu char. Wywołanie którejkolwiek  z  tych  funkcji  może  nadpisać  informacje  w
       którymkolwiek   z  obiektów  zwróconych  przez  inne  funkcje".  Może  się  to  zdarzyć  w
       implementacji zastosowanej w bibliotece glibc.

       Wiele implementacji,  włączając  glibc,  interpretuje  0  w  tm_mday  jako  ostatni  dzień
       poprzedniego miesiąca.

       Według  POSIX.1-2001  localtime() musi się zachowywać tak, jakby tzset(3) było wywołane, w
       przypadku zaś localtime_r() nie ma takiego wymagania. W przenośnym kodzie tzset(3) powinno
       być wywołanie przed localtime_r().

ZOBACZ TAKŻE

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

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia   niniejszej   strony   podręcznika   są:   Adam   Byrtek
       <alpha@irc.pl>,   Andrzej   Krzysztofowicz   <ankry@green.mf.pg.gda.pl>,   Robert  Luberda
       <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe  informacje  o  warunkach  licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  lub  nowszej.  Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres listy dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.