C funkce data a času - C date and time functions
| C standardní knihovna |
|---|
| Obecná témata |
| Různé záhlaví |
Tyto funkce datum a čas C je skupina funkcí ve standardní knihovny z C programovací jazyk , kterým se provádí datum a čas manipulace operace. Poskytují podporu pro získávání času , převod mezi formáty data a formátovaný výstup na řetězce.
Přehled funkcí
C datum a čas operace jsou definovány v souboru time.h záhlaví ( ctimezáhlaví v C ++ ).
| Identifikátor | Popis | |
|---|---|---|
Manipulace s časem |
difftime
|
spočítá rozdíl mezi dvěma time_thodnotami
v sekundách |
time
|
vrací aktuální čas systému jako time_thodnotu, počet sekund (což je obvykle čas od epochy , obvykle epocha Unixu ). Hodnota epochy závisí na operačním systému; 1900 a 1970 jsou často používány. Viz RFC 868.
|
|
clock
|
vrací počet značek procesoru spojený s procesem | |
timespec_get (C11)
|
vrací kalendářní čas na základě časové základny | |
| Formátovat převody |
asctime
|
převede struct tmobjekt na textovou reprezentaci (zastaralou)
|
ctime
|
převede time_thodnotu na textovou reprezentaci
|
|
strftime
|
převede struct tmobjekt na vlastní textovou reprezentaci
|
|
wcsftime
|
převede struct tmobjekt na vlastní textovou reprezentaci širokého řetězce
|
|
gmtime
|
převede time_thodnotu na kalendářní čas vyjádřený jako koordinovaný světový čas
|
|
localtime
|
převede time_thodnotu na kalendářní čas vyjádřený jako místní čas
|
|
mktime
|
převede kalendářní čas na time_thodnotu.
|
|
| Konstanty |
CLOCKS_PER_SEC
|
počet taktů hodin procesoru za sekundu |
TIME_UTC
|
časová základna pro UTC | |
| Typy |
struct tm
|
členěný kalendářní typ času: rok, měsíc, den, hodina, minuta, sekunda |
time_t
|
aritmetický typ času (obvykle čas od epochy) | |
clock_t
|
typ doby běhu procesu | |
timespec
|
čas se sekundami a nanosekundami |
timespecA související typy byly původně navržené Markus Kuhn za poskytnutí různých časových základen, ale pouze TIME_UTCbyl přijat. 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ího výstupního proudu .
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
time_t current_time;
char* c_time_string;
/* Obtain current time. */
current_time = time(NULL);
if (current_time == ((time_t)-1))
{
(void) fprintf(stderr, "Failure to obtain the current time.\n");
exit(EXIT_FAILURE);
}
/* Convert to local time format. */
c_time_string = ctime(¤t_time);
if (c_time_string == NULL)
{
(void) fprintf(stderr, "Failure to convert the current time.\n");
exit(EXIT_FAILURE);
}
/* Print to stdout. ctime() has already added a terminating newline character. */
(void) printf("Current time is %s", c_time_string);
exit(EXIT_SUCCESS);
}
Výstupem je:
Current time is Thu Sep 15 21:18:23 2016