.\" -*- coding: UTF-8 -*-
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\" %%%LICENSE_END
.\"
.\" References consulted:
.\"     Linux libc source code
.\"     Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\"     386BSD man pages
.\" Modified Sat Jul 24 19:49:27 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Fri Apr 26 12:38:55 MET DST 1996 by Martin Schulze (joey@linux.de)
.\" Modified 2001-11-13, aeb
.\" Modified 2001-12-13, joey, aeb
.\" Modified 2004-11-16, mtk
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH CTIME 3 "21 grudnia 2020 r." "" "Podręcznik programisty Linuksa"
.SH 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
.SH SKŁADNIA
.nf
\fB#include <time.h>\fP
.PP
\fBchar *asctime(const struct tm *\fP\fItm\fP\fB);\fP
\fBchar *asctime_r(const struct tm *\fP\fItm\fP\fB, char *\fP\fIbuf\fP\fB);\fP
.PP
\fBchar *ctime(const time_t *\fP\fItimep\fP\fB);\fP
\fBchar *ctime_r(const time_t *\fP\fItimep\fP\fB, char *\fP\fIbuf\fP\fB);\fP
.PP
\fBstruct tm *gmtime(const time_t *\fP\fItimep\fP\fB);\fP
\fBstruct tm *gmtime_r(const time_t *\fP\fItimep\fP\fB, struct tm *\fP\fIresult\fP\fB);\fP
.PP
\fBstruct tm *localtime(const time_t *\fP\fItimep\fP\fB);\fP
\fBstruct tm *localtime_r(const time_t *\fP\fItimep\fP\fB, struct tm *\fP\fIresult\fP\fB);\fP
.PP
\fBtime_t mktime(struct tm *\fP\fItm\fP\fB);\fP
.fi
.PP
.RS -4
Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)):
.RE
.ad l
.PP
\fBasctime_r\fP(), \fBctime_r\fP(), \fBgmtime_r\fP(), \fBlocaltime_r\fP():
.RS
_POSIX_C_SOURCE
    || /* Glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.RE
.ad
.SH OPIS
The \fBctime\fP(), \fBgmtime\fP(), and \fBlocaltime\fP()  functions all take an
argument of data type \fItime_t\fP, which represents calendar time.  When
interpreted as an absolute time value, it represents the number of seconds
elapsed since the Epoch, 1970\-01\-01 00:00:00 +0000 (UTC).
.PP
Funkcje \fBasctime\fP() oraz \fBmktime\fP() przyjmują jako argument czas
rozłożony, który jest reprezentacją podzieloną na rok, miesiąc, dzień itd.
.PP
Czas rozłożony jest przechowywany w strukturze \fItm\fP, zdefiniowanej w
\fI<time.h>\fP następująco:
.PP
.in +4n
.EX
struct tm {
    int tm_sec;         /* sekundy (0\-60) */
    int tm_min;         /* minuty (0\-59) */
    int tm_hour;        /* godziny (0\-23) */
    int tm_mday;        /* dzień miesiąca (1\-31) */
    int tm_mon;         /* miesiąc (0\-11) */
    int tm_year;        /* rok \- 1900 */
    int tm_wday;        /* dzień tygodnia (0\-6, niedziela = 0) */
    int tm_yday;        /* dzień roku (0\-365, 1.01 = 0)*/
    int tm_isdst;       /* sezonowa zmiana czasu */
};
.EE
.in
.PP
Elementy struktury \fItm\fP to:
.TP  10
\fItm_sec\fP
Liczba sekund po pełnej minucie, normalnie z zakresu od 0 do 59, ale może
wynosić nawet do 60, aby umożliwić sekundy przestępne.
.TP 
\fItm_min\fP
Liczba minut po pełnej godzinie, z zakresu od 0 do 59.
.TP 
\fItm_hour\fP
Liczba godzin po północy, z zakresu od 0 do 23.
.TP 
\fItm_mday\fP
Dzień tygodnia, z zakresu od 1 do 31.
.TP 
\fItm_mon\fP
Liczba miesięcy od stycznia, z zakresu od 0 do 11.
.TP 
\fItm_year\fP
Liczba lat od 1900.
.TP 
\fItm_wday\fP
Liczba dni od niedzieli, z zakresu od 0 do 6.
.TP 
\fItm_yday\fP
Liczba dni od 1 stycznia, z zakresu od 0 do 365.
.TP 
\fItm_isdst\fP
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.
.PP
Wywołanie \fBctime(\fP\fIt\fP\fB)\fP jest równoważne
\fBasctime(localtime(\fP\fIt\fP\fB))\fP. Przekształca czas kalendarzowy \fIt\fP na
zakończony znakiem null łańcuch o postaci
.PP
.in +4n
.EX
"śro, sty 30 21:49:08 1993\en"
.EE
.in
.PP
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 \fItzname\fP, \fItimezone\fP i \fIdaylight\fP (patrz
\fBtzset\fP(3)). Wielowątkowa wersja tej funkcji, \fBctime_r\fP(), 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 \fItzname\fP,
\fItimezone\fP, i \fIdaylight\fP.
.PP
Funkcja \fBgmtime\fP() przekształca czas kalendarzowy \fItimep\fP 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 \fBgmtime_r\fP()
robi to samo, ale zapisuje dane do struktury podanej przez użytkownika.
.PP
Funkcja \fBlocaltime\fP() przekształca czas kalendarzowy \fItimep\fP na czas
rozłożony, wyrażony względem wybranej przez użytkownika strefy
czasowej. Funkcja działa tak, jakby wywoływała \fBtzset\fP(3) i wpisywała do
zewnętrznej zmiennej \fItzname\fP informacje na temat bieżącej strefy czasowej,
do \fItimezone\fP \- różnicę w sekundach pomiędzy Coordinated Universal Time
(UTC) a lokalnym czasem standardowym, a do \fIdaylight\fP \- 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 \fBlocaltime_r\fP() robi to samo, ale zapisuje dane do struktury
podanej przez użytkownika. Nie musi ona ustawiać zmiennych \fItzname\fP,
\fItimezone\fP i \fIdaylight\fP.
.PP
Funkcja \fBasctime\fP() przekształca czas rozłożony \fItm\fP na zakończony bajtem
null łańcuch tego samego formatu, co \fBctime\fP(). 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 \fBasctime_r\fP() robi to
samo, ale zapisuje łańcuch w podanym przez użytkownika buforze o długości co
najmniej 26 bajtów.
.PP
Funkcja \fBmktime\fP()  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 \fItm_wday\fP oraz \fItm_yday\fP. Wartość podana w
polu \fItm_isdst\fP informuje funkcję \fBmktime\fP() o tym, czy dla czasu podanego
w strukturze \fItm\fP 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 \fBmktime\fP() podjęcie próby
sprawdzenia (w systemowej bazie danych informacji o strefach czasowych), czy
DST był używany w podanym czasie.
.PP
Funkcja \fBmktime\fP() modyfikuje pola struktury \fItm\fP jak następuje:
\fItm_wday\fP i \fItm_yday\fP 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). \fItm_isdst\fP 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 \fBmktime\fP() ustawia także w zewnętrznej zmiennej
\fItzname\fP informacje o bieżącej strefie czasowej.
.PP
Jeśli podany czas rozłożony nie może być reprezentowany jako czas
kalendarzowy (sekundy od początku epoki),  \fBmktime\fP() zwraca \fI(time_t)\ \-1\fP i nie zmienia pól w podzielonej strukturze czasu.
.SH "WARTOŚĆ ZWRACANA"
\fBgmtime\fP() oraz \fBlocaltime\fP(), gdy się zakończą pomyślnie, zwracają
wskaźnik do \fIstruct\ tm\fP.
.PP
\fBgmtime_r\fP() oraz \fBlocaltime_r\fP(), gdy się zakończą pomyślnie, zwracają
adres struktury wskazywanej przez \fIresult\fP.
.PP
\fBasctime\fP() oraz \fBctime\fP(), gdy się zakończą pomyślnie, zwracają wskaźnik
do łańcucha znaków
.PP
\fBasctime_r\fP() oraz \fBctime_r\fP(), gdy się zakończą pomyślnie, zwracają
wskaźnik do łańcucha znaków, na który wskazuje argument \fIbuf\fP.
.PP
\fBmktime\fP, 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 \fItime_t\fP
.PP
W razie błędu \fBmktime\fP() zwraca wartość \fI(time_t)\ \-1\fP. Pozostałe funkcje
w przypadku błędu zwracają NULL. Ustawiane jest też \fIerrno\fP, wskazując na
rodzaj błędu.
.SH BŁĘDY
.TP 
\fBEOVERFLOW\fP
Wynik jest niereprezentowalny.
.SH ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku
\fBattributes\fP(7).
.ad l
.TS
allbox;
lbw14 lb lbw31
l l l.
Interfejs	Atrybut	Wartość
T{
\fBasctime\fP()
T}	Bezpieczeństwo wątkowe	MT\-Unsafe race:asctime locale
T{
\fBasctime_r\fP()
T}	Bezpieczeństwo wątkowe	MT\-Safe locale
T{
\fBctime\fP()
T}	Bezpieczeństwo wątkowe	T{
MT\-Unsafe race:tmbuf
.br
race:asctime env locale
T}
T{
\fBctime_r\fP(),
\fBgmtime_r\fP(),
\fBlocaltime_r\fP(),
\fBmktime\fP()
T}	Bezpieczeństwo wątkowe	MT\-Safe env locale
T{
\fBgmtime\fP(),
\fBlocaltime\fP()
T}	Bezpieczeństwo wątkowe	MT\-Unsafe race:tmbuf env locale
.TE
.ad
.SH "ZGODNE Z"
POSIX.1\-2001. C89 i C99 opisują \fBasctime\fP(), \fBctime\fP(), \fBgmtime\fP(),
\fBlocaltime\fP() oraz \fBmktime\fP(). POSIX.1\-2008 uznaje \fBasctime\fP(),
\fBasctime_r\fP(), \fBctime\fP() oraz \fBctime_r\fP() za przestarzałe, rekomendując
używanie \fBstrftime\fP(3) zamiast nich.
.SH UWAGI
The four functions \fBasctime\fP(), \fBctime\fP(), \fBgmtime\fP(), and \fBlocaltime\fP()
return a pointer to static data and hence are not thread\-safe.  The
thread\-safe versions, \fBasctime_r\fP(), \fBctime_r\fP(), \fBgmtime_r\fP(), and
\fBlocaltime_r\fP(), are specified by SUSv2.
.PP
POSIX.1\-2001 mówi: "Funkcje \fBasctime\fP(), \fBctime\fP(), \fBgmtime\fP() oraz
\fBlocaltime\fP() powinny zwrócić wartości w jednym z dwóch statycznych
obiektów: podzielonej strukturze czasu i tablicy znaków typu
\fIchar\fP. 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.
.PP
Wiele implementacji, włączając glibc, interpretuje 0 w \fItm_mday\fP jako
ostatni dzień poprzedniego miesiąca.
.PP
Wersja struktury \fIstruct tm\fP zawarta w glibc zawiera dodatkowe pola
.PP
.in +4n
.EX
const char *tm_zone;      /* Skrót strefy czasowej */
.EE
.in
.PP
zdefiniowane, gdy \fB_BSD_SOURCE\fP jest ustawione przed włączeniem
\fI<time.h>\fP. Jest to rozszerzenie BSD, obecne w 4.3BSD\-Reno.
.PP
.\" See http://thread.gmane.org/gmane.comp.time.tz/2034/
According to POSIX.1\-2001, \fBlocaltime\fP()  is required to behave as though
\fBtzset\fP(3)  was called, while \fBlocaltime_r\fP()  does not have this
requirement.  For portable code, \fBtzset\fP(3)  should be called before
\fBlocaltime_r\fP().
.SH "ZOBACZ TAKŻE"
\fBdate\fP(1), \fBgettimeofday\fP(2), \fBtime\fP(2), \fButime\fP(2), \fBclock\fP(3),
\fBdifftime\fP(3), \fBstrftime\fP(3), \fBstrptime\fP(3), \fBtimegm\fP(3), \fBtzset\fP(3),
\fBtime\fP(7)
.SH "O STRONIE"
Angielska wersja tej strony pochodzi z wydania 5.10 projektu Linux
\fIman\-pages\fP. Opis projektu, informacje dotyczące zgłaszania błędów oraz
najnowszą wersję oryginału można znaleźć pod adresem
\%https://www.kernel.org/doc/man\-pages/.

.SH 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
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

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