C funkce data a času - C date and time functions

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(&current_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

Viz také

Reference

externí odkazy