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
или_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
имеет значение 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( <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
_wctime_s
_ctime64_s
_wctime32_s
,_wctime64_s
_ftime
, , _ftime32
_ftime64
gmtime
, , _gmtime32
_gmtime64
localtime
, , _localtime32
_localtime64
time
, , _time32
_time64