(Перенаправлен из времени t )
Перейти к навигации Перейти к поискуЭта статья написана как руководство или путеводитель . ( Октябрь 2014 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Стандартная библиотека C |
---|
Общие темы |
Разные заголовки |
Функции даты и времени C - это группа функций в стандартной библиотеке языка программирования C, реализующая операции манипулирования датой и временем. [1] Они обеспечивают поддержку регистрации времени , преобразования между форматами даты и форматированного вывода в строки.
Обзор функций [ править ]
Операции с датой и временем 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 значение в календарное время, выраженное как всемирное координированное время [2] | |
localtime | преобразует time_t значение в календарное время, выраженное как местное время | |
mktime | преобразует календарное время в time_t значение. | |
Константы | CLOCKS_PER_SEC | количество тактов процессора в секунду |
TIME_UTC | временная база для UTC | |
Типы | struct tm | календарь с разбивкой по типу времени: год, месяц, день, час, минута, секунда |
time_t | арифметический тип времени (обычно время с эпохи) | |
clock_t | тип времени выполнения процесса | |
timespec | время с секундами и наносекундами |
timespec
И связанные с ними типы первоначально были предложены Markus Kuhn , чтобы обеспечить различные временные базы, но только TIME_UTC
было принято. [3] Однако функциональные возможности были добавлены в C ++ в 2020 году в std :: chrono.
Пример [ править ]
Следующий исходный код C выводит текущее время в стандартный выходной поток .
#include <time.h>#include <stdlib.h>#include <stdio.h>int main ( недействительно ) { time_t current_time ; char * c_time_string ; / * Получить текущее время. * / current_time = время ( NULL ); if ( current_time == (( time_t ) -1 )) { ( void ) fprintf ( stderr , "Не удалось получить текущее время. \ n " ); выход ( EXIT_FAILURE ); } / * Преобразование в формат местного времени. * / c_time_string = ctime ( & current_time ); if ( c_time_string == NULL ) { ( void ) fprintf ( stderr , "Ошибка преобразования текущего времени. \ n " ); выход ( EXIT_FAILURE ); } / * Печать в стандартный вывод. ctime () уже добавил завершающий символ новой строки. * / ( void ) printf ( "Текущее время% s" , c_time_string ); выход ( EXIT_SUCCESS ); }
Результат:
Текущее время: Чт, 15 сен, 21:18:23, 2016.
См. Также [ править ]
- Проблема 2038 года
Ссылки [ править ]
- ^ ISO / IEC 9899: 1999 спецификация (PDF) . п. 351, § 7.32.2.
- ^ open-std.org - Проект комитета - 6 мая 2005 г., стр. 355
- ^ Маркус Кун. «Модернизированный API для ISO C» . cl.cam.ac.uk .
Внешние ссылки [ править ]
В Викиуке по программированию на C есть страница по теме: Программирование на C / Справочник по C |