time(2) System Calls Manual time(2) NAZWA time - pobiera czas w sekundach BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include time_t time(time_t *_Nullable tloc); OPIS time() zwraca czas jako liczbe sekund od Epoki, tj. 1970-01-01 00:00:00 +0000 (UTC). Jesli tloc nie jest rowne NULL, to zwracana wartosc jest rowniez zapisywana w pamieci wskazywanej przez tloc. WARTOSC ZWRACANA W przypadku pomyslnego zakonczenia, zwracana jest wartosc liczbowa dla czasu w sekundach od Epoki. W przypadku bledu, zwracane jest ((time_t) -1) i ustawiane errno wskazujac blad. BLEDY EOVERFLOW Czas ten nie moze byc reprezentowany jako wartosc time_t. Blad moze wystapic, gdy plik wykonywalny z 32-bitowym time_t dziala na 64-bitowym jadrze, a czas to 2038-01-19 03:14:08 UTC lub pozniej. Jednakze, gdy czas systemowy jest poza zakresem time_t w innych sytuacjach, to zachowanie jest niezdefiniowane. EFAULT tloc wskazuje poza dostepna dla uzytkownika przestrzen adresowa (ale zob. BLEDY). W systemach, w ktorych funkcja opakowujaca time() z biblioteki C przywoluje implementacje zapewniana przez vdso(7) (czyli bez pulapki do jadra), nieprawidlowy adres moze zamiast tego wyzwolic sygnal SIGSEGV. WERSJE POSIX.1 definiuje liczbe sekund od Epoki jako wzor, ktory w sposob przyblizony oblicza liczbe sekund pomiedzy zadanym czasem a Epoka. Wzor ten bierze pod uwage fakt, ze wszystkie lata podzielne przez 4 sa przestepne, lecz lata, ktore sa podzielne przez 100 nie sa latami przestepnymi chyba, ze sa podzielne rowniez przez 400, gdy sa jednak przestepne. Wartosc ta nie jest tym samym, co rzeczywista liczba sekund pomiedzy zadanym czasem a Epoka, gdyz istnieja sekundy przestepne oraz zegary nie musza byc synchronizowane z czasem standardowym. Systemy Linux zwykle przestrzegaja wymagania POSIX, ze wartosc ta ma ignorowac sekundy przestepne, dzieki czemu zgodne systemy spojnie ja interpretuja; zob. POSIX.1-2018 Rationale A.4.16. Aplikacje, ktore moga dzialac po roku 2038, powinny uzywac ABI z time_t szerszym niz 32 bity; zob. time_t(3type). Roznice biblioteki C/jadra Na niektorych architekturach, implementacja time() jest zapewniona w vdso(7). STANDARDY C11, POSIX.1-2008. HISTORIA SVr4, 4.3BSD, C89, POSIX.1-2001. USTERKI Bledy zwracane przez to wywolanie systemowe sa nierozroznialne od pomyslnego zgloszenia czasu bedacego kilka sekund przed Epoka, dlatego funkcja opakowujaca z biblioteki C nigdy nie ustawia errno jako wyniku tego wywolania. Argument tloc wychodzi z uzycia i w nowym kodzie zawsze powinien wynosic NULL. Gdy tloc wynosi NULL, wywolanie nie moze zawiesc. ZOBACZ TAKZE date(1), gettimeofday(2), ctime(3), ftime(3), time(7), vdso(7) TLUMACZENIE Tlumaczenie niniejszej strony podrecznika: Przemek Borys , Andrzej Krzysztofowicz i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.15 17 maja 2025 r. time(2)