ctime
, _ctime32
, _ctime64
, _wctime
, _wctime32
, _wctime64
Преобразуют значение времени в строку и настраивают его в соответствии с параметрами локального часового пояса. Доступны более безопасные версии этих функций; см. разделctime_s
, _ctime32_s
, _ctime64_s
, _wctime_s
, _wctime32_s
, . _wctime64_s
Синтаксис
char *ctime( const time_t *sourceTime );
char *_ctime32( const __time32_t *sourceTime );
char *_ctime64( const __time64_t *sourceTime );
wchar_t *_wctime( const time_t *sourceTime );
wchar_t *_wctime32( const __time32_t *sourceTime );
wchar_t *_wctime64( const __time64_t *sourceTime );
Параметры
sourceTime
Указатель на время хранения для преобразования.
Возвращаемое значение
Указатель на результирующую строку символов. NULL
возвращается, когда:
sourceTime
представляет дату перед полуночью 1-го января 1970 года, в формате UTC.Вы используете
_ctime32
или_wctime32
иsourceTime
представляет дату после 23:59:59 18 января 2038 г. (UTC).Вы используете
_ctime64
или_wctime64
иsourceTime
представляет дату после 23:59:59, 31 декабря 3000 года в формате UTC.
ctime
— встроенная функция, которая принимает значение _ctime64
и time_t
эквивалентна __time64_t
. Если необходимо, чтобы компилятор принудительно интерпретировал time_t
как старое 32-разрядное значение time_t
, можно определить _USE_32BIT_TIME_T
. Этот макрос приводит к оценке ctime
._ctime32
Мы не рекомендуем использовать его, так как приложение может завершиться сбоем после 18 января 2038 г., и оно не разрешено на 64-разрядных платформах.
Комментарии
Функция ctime
преобразует значение времени, хранящееся time_t
в виде значения, в символьную строку. Значение sourceTime
обычно получается из вызова time
, который возвращает количество секунд, прошедшее с полуночи (00:00:00), 1 января 1970 г., в формате UTC. Строка возвращаемого значения содержит ровно 26 символов и имеет следующий вид:
Wed Jan 02 02:03:55 1980\n\0
Время в 24-часовом формате. Все поля имеют постоянную ширину. Символ новой строки ("\n") и нуль-символ ("\0") занимают две последние позиции строки.
Преобразованная символьная строка также настраивается согласно параметрам местного часового пояса. Сведения о настройке местного времени см. в time
разделе Функции , _ftime
и localtime
. Дополнительные сведения об определении среды часового пояса и глобальных переменных см. в _tzset
этой функции.
Вызов функции ctime
изменяет один статически выделенный буфер, используемый функциями gmtime
и localtime
. Каждый вызов одной из этих подпрограмм уничтожает результат предыдущего вызова. Функция ctime
делит статический буфер с функцией asctime
. Таким образом, вызов функции ctime
уничтожает результаты любого предыдущего вызова функций asctime
, localtime
или gmtime
.
_wctime
и _wctime64
— версии функций ctime
и _ctime64
для расширенных символов; возвращают указатель на строку из расширенных символов. В остальном поведение функций _ctime64
, _wctime
и _wctime64
совпадает с поведением функции ctime
.
Эти функции проверяют свои параметры. Если sourceTime
является пустым указателем или sourceTime
значение отрицательное, эти функции вызывают обработчик недопустимых параметров, как описано в разделе Проверка параметров. Если выполнение может быть продолжено, эти функции возвращают NULL
и устанавливают параметр errno
в значение EINVAL
.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см. статью Глобальное состояние в CRT.
Сопоставления подпрограмм с универсальным текстом
Подпрограмма TCHAR.H | _UNICODE и _MBCS не определены |
_MBCS Определенные |
_UNICODE Определенные |
---|---|---|---|
_tctime |
ctime |
ctime |
_wctime |
_tctime32 |
_ctime32 |
_ctime32 |
_wctime32 |
_tctime64 |
_ctime64 |
_ctime64 |
_wctime64 |
Требования
Подпрограмма | Обязательный заголовок |
---|---|
ctime |
<time.h> |
_ctime32 |
<time.h> |
_ctime64 |
<time.h> |
_wctime |
<time.h> или <wchar.h> |
_wctime32 |
<time.h> или <wchar.h> |
_wctime64 |
<time.h> или <wchar.h> |
Дополнительные сведения о совместимости см. в разделе Compatibility.
Пример
// crt_ctime64.c
// compile with: /W3
/* This program gets the current
* time in _time64_t form, then uses ctime to
* display the time in string form.
*/
#include <time.h>
#include <stdio.h>
int main( void )
{
__time64_t ltime;
_time64( <ime );
printf( "The time is %s\n", _ctime64( <ime ) ); // C4996
// Note: _ctime64 is deprecated; consider using _ctime64_s
}
The time is Wed Feb 13 16:04:43 2002
См. также раздел
Управление временем
asctime
, _wasctime
ctime_s
, _ctime32_s
, _ctime64_s
, _wctime_s
, _wctime32_s
, _wctime64_s
_ftime
, _ftime32
, _ftime64
gmtime
, _gmtime32
, _gmtime64
localtime
, _localtime32
, _localtime64
time
, _time32
, _time64