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


ctime, , _ctime32_wctime_ctime64_wctime32,_wctime64

Преобразуют значение времени в строку и настраивают его в соответствии с параметрами локального часового пояса. Доступны более безопасные версии этих функций; seectime_s, _ctime32_s_wctime64_s_ctime64_s_wctime32_s_wctime_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 или _wctime32sourceTime представляет дату после 23:59:59 18 января 2038 г. в формате UTC.

  • Вы используете _ctime64 или _wctime64sourceTime представляет дату после 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 имеет значение NULL или 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>

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

Пример

// 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
}
The time is Wed Feb 13 16:04:43 2002

См. также

Управление временем
asctime, _wasctime
ctime_s, , _ctime32_s_wctime_s_ctime64_s_wctime32_s,_wctime64_s
_ftime, , _ftime32_ftime64
gmtime, , _gmtime32_gmtime64
localtime, , _localtime32_localtime64
time, , _time32_time64