C функции даты и времени - C date and time functions

Функции даты и времени C - это группа функций в стандартной библиотеке языка программирования C, реализующая операции манипулирования датой и временем. Они обеспечивают поддержку регистрации времени , преобразования между форматами даты и форматированного вывода в строки.

Обзор функций

Операции с датой и временем C определены в time.h файлеctime заголовка ( заголовок в C ++ ).

Идентификатор Описание

Манипуляция временем
difftime вычисляет разницу в секундах между двумя time_tзначениями
time возвращает текущее время системы как time_tзначение, количество секунд (обычно это время с эпохи , обычно с эпохи Unix ). Значение эпохи зависит от операционной системы; Часто используются 1900 и 1970 годы. См. RFC 868.
clock возвращает счетчик тактов процессора, связанный с процессом
timespec_get (C11) возвращает календарное время на основе временной базы

Преобразование форматов
asctime преобразует struct tmобъект в текстовое представление (устарело)
ctime преобразует time_tзначение в текстовое представление
strftime преобразует struct tmобъект в пользовательское текстовое представление
wcsftime преобразует struct tmобъект в настраиваемое текстовое представление широкой строки
gmtime преобразует time_tзначение в календарное время, выраженное как всемирное координированное время
localtime преобразует time_tзначение в календарное время, выраженное как местное время
mktime преобразует календарное время в time_tзначение.
Константы CLOCKS_PER_SEC количество тактов процессора в секунду
TIME_UTC временная база для UTC
Типы struct tm календарь с разбивкой по типу времени: год, месяц, день, час, минута, секунда
time_t арифметический тип времени (обычно время с эпохи)
clock_t тип времени выполнения процесса
timespec время с секундами и наносекундами

timespecИ связанные с ними типы первоначально были предложены Markus Kuhn , чтобы обеспечить различные временные базы, но только TIME_UTCбыло принято. Однако функциональные возможности были добавлены в C ++ в 2020 году в std :: chrono.

Пример

Следующий исходный код C выводит текущее время в стандартный выходной поток .

#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);
}

Результат:

Current time is Thu Sep 15 21:18:23 2016

Смотрите также

Рекомендации

Внешние ссылки