Поделиться через


ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64

Преобразуют значение времени в строку и настраивают его в соответствии с параметрами локального времени. Существуют более безопасные версии этих функций; см. раздел ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s.

char *ctime( 
   const time_t *timer 
);
char *_ctime32( 
   const __time32_t *timer )
;
char *_ctime64( 
   const __time64_t *timer )
;
wchar_t *_wctime( 
   const time_t *timer 
);
wchar_t *_wctime32( 
   const __time32_t *timer
);
wchar_t *_wctime64( 
   const __time64_t *timer 
);

Параметры

  • timer
    Указатель на сохраненное время.

Возвращаемое значение

Указатель на результирующую строку знаков. NULL будет возвращено, если:

  • time представляет дату перед полуночью 1-го января 1970, время в формате UTC.

  • Если используется функция _ctime32 или _wctime32 и time представляет дату после 03:14:07 19-ого января 2038 года.

  • Если используется функция _ctime64 или _wctime64 и time представляет дату после 23:59:59 31-ого декабря 3000 года.

ctime — встроенная функция, которая принимает значение _ctime64 и time_t эквивалентна __time64_t. Если необходимо обеспечить интерпретацию компилятором time_t как старого 32-битного time_t, можно определить _USE_32BIT_TIME_T. Это заставит ctime вычисляться как _ctime32. Это не рекомендуется, поскольку приложение может завершиться с ошибкой после 18-ого января 2038 и не поддерживается на 64 разрядных платформах.

Заметки

Функция ctime преобразует значение времени, хранящееся в виде time_t, в символьную строку. Значение timer обычно возникает из вызова 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.

Эти функции проверяют свои параметры. Если параметр timer — нулевой указатель, или значение таймера отрицательно, эти функции вызывают обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если продолжение выполнения разрешено, эти функции возвращают NULL и устанавливают для errno значение EINVAL.

Универсальное текстовое сопоставление функций

Подпрограмма 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>

Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Пример

// 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( &ltime );
   printf( "The time is %s\n", _ctime64( &ltime ) ); // C4996
   // Note: _ctime64 is deprecated; consider using _ctime64_s
}
  

Эквивалент в .NET Framework

См. также

Ссылки

Управление временем

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