Jump to content

Функции даты и времени C

(Перенаправлено с Time.h )

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

Строка формата, используемая в strftime восходит как минимум к PWB/UNIX 1.0 , выпущенному в 1977 году. date системная команда включает в себя различные параметры форматирования. [ 2 ] [ 3 ] В 1989 году был выпущен стандарт ANSI C, включающий strftime и другие функции даты и времени. [ 4 ]

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

[ редактировать ]

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

Идентификатор Описание
Время
манипуляция
difftime вычисляет разницу в секундах между двумя time_t ценности
time возвращает текущее время системы в виде time_t значение, количество секунд (обычно это время, прошедшее с эпохи , обычно эпохи Unix ). Значение эпохи зависит от операционной системы; Часто используются 1900 и 1970 годы. См. RFC 868.
clock возвращает счетчик тактов процессора, связанный с процессом
timespec_get (С11) возвращает календарное время на основе временной базы
Формат
конверсии
asctime преобразует struct tm объект для текстового представления (устарело)
ctime преобразует time_t значение для текстового представления
strftime преобразует struct tm возражать против пользовательского текстового представления
strptime преобразует строку с информацией о времени в struct tm
wcsftime преобразует struct tm объект для пользовательского текстового представления широкой строки
gmtime преобразует time_t значение календарного времени, выраженное как всемирное координированное время [ 5 ]
localtime преобразует time_t значение календарного времени, выраженное как местное время
mktime преобразует календарное время в time_t ценить.
Константы CLOCKS_PER_SEC количество тактов процессора в секунду
TIME_UTC временная база для UTC
Типы struct tm разбитый тип календарного времени: год, месяц, день, час, минута, секунда
time_t арифметический тип времени (обычно время с эпохи Unix )
clock_t тип времени выполнения процесса
timespec время с секундами и наносекундами

The timespec и родственные типы были первоначально предложены Маркусом Куном для обеспечения различных временных баз, но только TIME_UTC был принят. [ 6 ] Однако эти функции были добавлены в 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

См. также

[ редактировать ]
  1. ^ Спецификация ISO/IEC 9899:1999 (PDF) . п. 351, § 7.32.2.
  2. ^ «Команда системы даты PWB1 — страница руководства» . www.tuhs.org .
  3. ^ «Исходный код date.c PWB1» . www.tuhs.org .
  4. ^ «Обоснование американского национального стандарта для информационных систем — Язык программирования — C — Дата и время» . www.lysator.liu.se .
  5. ^ open-std.org — Проект комитета — 6 мая 2005 г., стр. 355
  6. ^ Маркус Кун. «Модернизированный API для ISO C» . cl.cam.ac.uk.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4c5afcbd1bd603282e8eb275eba2980f__1712839800
URL1:https://arc.ask3.ru/arc/aa/4c/0f/4c5afcbd1bd603282e8eb275eba2980f.html
Заголовок, (Title) документа по адресу, URL1:
C date and time functions - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)