.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" 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 "5 lutego 2023 r." "Linux man\-pages 6.03" 
.SH NAZWA
asctime, ctime, gmtime, localtime, mktime, asctime_r, ctime_r, gmtime_r,
localtime_r \- konwertuje daty i czas do postaci czasu rozłożonego lub ASCII
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.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 *restrict \fP\fItm\fP\fB,\fP
\fB                    char \fP\fIbuf\fP\fB[restrict 26]);\fP
.PP
\fBchar *ctime(const time_t *\fP\fItimep\fP\fB);\fP
\fBchar *ctime_r(const time_t *restrict \fP\fItimep\fP\fB,\fP
\fB                    char \fP\fIbuf\fP\fB[restrict 26]);\fP
.PP
\fBstruct tm *gmtime(const time_t *\fP\fItimep\fP\fB);\fP
\fBstruct tm *gmtime_r(const time_t *restrict \fP\fItimep\fP\fB,\fP
\fB                    struct tm *restrict \fP\fIresult\fP\fB);\fP
.PP
\fBstruct tm *localtime(const time_t *\fP\fItimep\fP\fB);\fP
\fBstruct tm *localtime_r(const time_t *restrict \fP\fItimep\fP\fB,\fP
\fB                    struct tm *restrict \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
.PP
\fBasctime_r\fP(), \fBctime_r\fP(), \fBgmtime_r\fP(), \fBlocaltime_r\fP():
.nf
    _POSIX_C_SOURCE
        || /* glibc w wersji <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH OPIS
Funkcje \fBctime\fP(), \fBgmtime\fP() oraz \fBlocaltime\fP() przyjmują argument typu
\fItime_t\fP, 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).
.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, opisanej w podręczniku
\fBtm\fP(3type).
.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
błąd.
.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
.nh
.TS
allbox;
lb lb lbx
l l l.
Interfejs	Atrybut	Wartość
T{
\fBasctime\fP()
T}	Bezpieczeństwo wątkowe	T{
MT\-niebezpieczne race:asctime locale
T}
T{
\fBasctime_r\fP()
T}	Bezpieczeństwo wątkowe	T{
MT\-bezpieczne locale
T}
T{
\fBctime\fP()
T}	Bezpieczeństwo wątkowe	T{
MT\-niebezpieczne race:tmbuf
race:asctime env locale
T}
T{
\fBctime_r\fP(),
\fBgmtime_r\fP(),
\fBlocaltime_r\fP(),
\fBmktime\fP()
T}	Bezpieczeństwo wątkowe	T{
MT\-bezpieczne env locale
T}
T{
\fBgmtime\fP(),
\fBlocaltime\fP()
T}	Bezpieczeństwo wątkowe	T{
MT\-niebezpieczne race:tmbuf env locale
T}
.TE
.hy
.ad
.sp 1
.SH STANDARDY
POSIX.1\-2001. C99 opisuje \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.
.PP
POSIX nie określa parametrów \fBctime_r\fP() jako \fIrestrict\fP; jest to typowe
dla glibc.
.SH UWAGI
Następujące cztery funkcje \fBacstime\fP(), \fBctime\fP(), \fBgmtime\fP() i
\fBlocaltime\fP() zwracają wskaźnik do statycznych danych i w związku z tym nie
są przystosowane do wielowątkowości. Wielowątkowe wersje \fBacstime_r\fP(),
\fBctime_r\fP(), \fBgmtime_r\fP() i \fBlocaltime_r\fP() są wymienione w 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
.\" See http://thread.gmane.org/gmane.comp.time.tz/2034/
Według POSIX.1\-2001 \fBlocaltime\fP() musi się zachowywać tak, jakby
\fBtzset\fP(3) było wywołane, w przypadku zaś \fBlocaltime_r\fP() nie ma takiego
wymagania. W przenośnym kodzie \fBtzset\fP(3) powinno być wywołanie przed
\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)
.PP
.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>
.
.PP
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.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
