C. Funkce data a času - C date and time functions
tento článek je napsán jako manuál nebo průvodce.Října 2014) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
C standardní knihovna |
---|
Obecná témata |
Různé záhlaví |
The C. Funkce data a času jsou skupinou funkcí v standardní knihovna z Programovací jazyk C. provádění operací manipulace s datem a časem.[1] Poskytují podporu pro čas akvizice, převod mezi formáty data a formátovaný výstup na řetězce.
Přehled funkcí
Operace data a času C jsou definovány v čas. h
hlavičkový soubor (ctime
záhlaví C ++ ).
Identifikátor | Popis | |
---|---|---|
Čas manipulace | jiný čas | vypočítá rozdíl v sekundách mezi dvěma time_t hodnoty |
čas | vrátí aktuální čas systému jako time_t hodnota, počet sekund (což je obvykle čas od epocha, typicky Unixová epocha ). Hodnota epochy závisí na operačním systému; 1900 a 1970 jsou často používány. Vidět RFC 868. | |
hodiny | vrací a počet značek procesoru spojené s procesem | |
timespec_get (C11) | vrací kalendářní čas na základě časové základny | |
Formát konverze | okamžitě | převádí a struktura tm namítnout proti textové reprezentaci (zastaralé) |
ctime | převádí a time_t hodnotu textové reprezentace | |
strftime | převádí a struktura tm namítat proti vlastní textové reprezentaci | |
wcsftime | převádí a struktura tm namítat proti vlastní textové reprezentaci širokého řetězce | |
gmtime | převádí a time_t hodnota do kalendářního času vyjádřená jako Koordinovaný světový čas[2] | |
místní čas | převádí a time_t hodnota do kalendářního času vyjádřená jako místní čas | |
mktime | převede kalendářní čas na a time_t hodnota. | |
Konstanty | CLOCKS_PER_SEC | počet taktů procesoru za sekundu |
TIME_UTC | časová základna pro UTC | |
Typy | struktura tm | zlomený kalendář typ času: rok, měsíc, den, hodina, minuta, sekunda |
time_t | aritmetický typ času (obvykle čas od epochy) | |
hodiny_t | typ doby běhu procesu | |
timespec | čas se sekundami a nanosekundami |
The timespec
a související typy původně navrhl Markus Kuhn k poskytnutí různých časových základen, ale pouze TIME_UTC
byl přijat.[3] Funkce však byly přidány do C ++ v roce 2020 v std :: chrono.
Příklad
Následující zdrojový kód C vytiskne aktuální čas do standardní výstupní proud.
#zahrnout <time.h>#zahrnout <stdlib.h>#zahrnout <stdio.h>int hlavní(prázdnota){ time_t aktuální čas; char* c_time_string; / * Získejte aktuální čas. * / aktuální čas = čas(NULA); -li (aktuální čas == ((time_t)-1)) { (prázdnota) fprintf(stderr, "Nepodařilo se zjistit aktuální čas."); výstup(EXIT_FAILURE); } / * Převést na formát místního času. * / c_time_string = ctime(&aktuální čas); -li (c_time_string == NULA) { (prázdnota) fprintf(stderr, "Nepodařilo se převést aktuální čas."); výstup(EXIT_FAILURE); } / * Tisk na standardní výstup. ctime () již přidal ukončovací znak nového řádku. * / (prázdnota) printf(„Aktuální čas je% s“, c_time_string); výstup(EXIT_SUCCESS);}
Výstupem je:
Aktuální čas je Čt 15. Zář 21:18:23 2016
Viz také
Reference
- ^ Specifikace ISO / IEC 9899: 1999 (PDF). str. 351, § 7.32.2.
- ^ open-std.org - Návrh výboru - 6. května 2005 strana 355
- ^ Markus Kuhn. „Modernizované API pro ISO C“. www.cl.cam.ac.uk.