.\" -*- 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 "15 czerwca 2024 r." "Linux man\-pages 6.9.1" 
.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
.P
\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
.P
\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
.P
\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
.P
\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
.P
\fBtime_t mktime(struct tm *\fP\fItm\fP\fB);\fP
.fi
.P
.RS -4
Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)):
.RE
.P
\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).
.P
Funkcje \fBasctime\fP() oraz \fBmktime\fP() przyjmują jako argument czas
rozłożony, który jest reprezentacją podzieloną na rok, miesiąc, dzień itd.
.P
Czas rozłożony jest przechowywany w strukturze \fItm\fP, opisanej w podręczniku
\fBtm\fP(3type).
.P
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
.P
.in +4n
.EX
"śro, sty 30 21:49:08 1993\[rs]n"
.EE
.in
.P
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 ustawia również zewnętrzne zmienne \fItzname\fP, \fItimezone\fP i
\fIdaylight\fP tak, jakby wywoływała \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.
.P
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.
.P
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 ustawia również zewnętrzne zmienne \fItzname\fP, \fItimezone\fP
i \fIdaylight\fP tak, jakby wywoływała \fBtzset\fP(3). 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.
.P
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.
.P
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.
.P
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ł. Funkcja ustawia również zewnętrzne zmienne \fItzname\fP, \fItimezone\fP i
\fIdaylight\fP tak, jakby wywoływała \fBtzset\fP(3).
.P
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.
.P
\fBgmtime_r\fP() oraz \fBlocaltime_r\fP(), gdy się zakończą pomyślnie, zwracają
adres struktury wskazywanej przez \fIresult\fP.
.P
\fBasctime\fP() oraz \fBctime\fP(), gdy się zakończą pomyślnie, zwracają wskaźnik
do łańcucha znaków
.P
\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.
.P
\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
.P
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).
.TS
allbox;
lb lb lbx
l l l.
Interfejs	Atrybut	Wartość
T{
.na
.nh
\fBasctime\fP()
T}	Bezpieczeństwo wątkowe	T{
.na
.nh
MT\-niebezpieczne race:asctime locale
T}
T{
.na
.nh
\fBasctime_r\fP()
T}	Bezpieczeństwo wątkowe	T{
.na
.nh
MT\-bezpieczne locale
T}
T{
.na
.nh
\fBctime\fP()
T}	Bezpieczeństwo wątkowe	T{
.na
.nh
MT\-niebezpieczne race:tmbuf
race:asctime env locale
T}
T{
.na
.nh
\fBctime_r\fP(),
\fBgmtime_r\fP(),
\fBlocaltime_r\fP(),
\fBmktime\fP()
T}	Bezpieczeństwo wątkowe	T{
.na
.nh
MT\-bezpieczne env locale
T}
T{
.na
.nh
\fBgmtime\fP(),
\fBlocaltime\fP()
T}	Bezpieczeństwo wątkowe	T{
.na
.nh
MT\-niebezpieczne race:tmbuf env locale
T}
.TE
.SH WERSJE
POSIX nie określa parametrów \fBctime_r\fP() jako \fIrestrict\fP; jest to typowe
dla glibc.
.P
Wiele implementacji, włączając glibc, interpretuje 0 w \fItm_mday\fP jako
ostatni dzień poprzedniego miesiąca.
.P
.\" See http://thread.gmane.org/gmane.comp.time.tz/2034/
Według POSIX.1, \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 STANDARDY
.TP 
\fBasctime\fP()
.TQ
\fBctime\fP()
.TQ
\fBgmtime\fP()
.TQ
\fBlocaltime\fP()
.TQ
\fBmktime\fP()
C23, POSIX.1\-2024.
.TP 
\fBgmtime_r\fP()
.TQ
\fBlocaltime_r\fP()
POSIX.1\-2024.
.TP 
\fBasctime_r\fP()
.TQ
\fBctime_r\fP()
Brak.
.SH HISTORIA
.TP 
\fBgmtime\fP()
.TQ
\fBlocaltime\fP()
.TQ
\fBmktime\fP()
C89, POSIX.1\-1988.
.TP 
\fBasctime\fP()
.TQ
\fBctime\fP()
C89, POSIX.1\-1988. Oznaczone jako przestarzałe w C23 i w POSIX.1\-2008 (z
zaleceniem stosowania \fBstrftime\fP(3)).
.TP 
\fBgmtime_r\fP()
.TQ
\fBlocaltime_r\fP()
POSIX.1\-1996.
.TP 
\fBasctime_r\fP()
.TQ
\fBctime_r\fP()
POSIX.1\-1996. Oznaczone jako przestarzałe w POSIX.1\-2008. Usunięte w
POSIX.1\-2024 (zalecając \fBstrftime\fP(3)).
.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.
.P
POSIX.1 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 zwracającej wskaźnik do
jednego z tych obiektów, może nadpisać informacje w którymkolwiek z obiektów
tego samego typu, na który wskazuje wartość zwrócona przez dowolne
poprzednie wywołanie którejkolwiek z funkcji". Może się to zdarzyć w
implementacji zastosowanej w bibliotece glibc.
.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
Tłumaczenie niniejszej strony podręcznika:
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 .
