asctime, _wasctime

Преобразуют структуру времени tm в символьную строку. Доступны более безопасные версии этих функций; see asctime_s, _wasctime_s.

Синтаксис

char *asctime(
   const struct tm *timeptr
);
wchar_t *_wasctime(
   const struct tm *timeptr
);

Параметры

timeptr
Структура даты/времени.

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

asctime возвращает указатель на результирующую строку символов; _wasctime возвращает указатель на результирующую строку расширенных символов. Нет возвращаемого значения ошибки.

Замечания

Доступны более безопасные версии этих функций; see asctime_s, _wasctime_s.

Функция asctime преобразует время, хранящееся в виде структуры, в символьную строку. Значение timeptr обычно получается из вызова gmtime или localtime, которые возвращают указатель на структуру, определенную tm в TIME.H.

Членtimeptr Значение
tm_hour Часы с полуночи (0-23)
tm_isdst Положительное значение, если летнее время действует; 0, если летнее время не действует; отрицательно, если состояние летнего времени неизвестно. Библиотека времени выполнения C принимает правила США для реализации проверки на летнее время (DST).
tm_mday День месяца (1-31)
tm_min Минуты после часа (0-59)
tm_mon Месяц (0-11; Январь = 0)
tm_sec Секунды после минуты (0-59)
tm_wday День недели (0-6; Воскресенье = 0)
tm_yday День года (0-365; 1 января = 0)
tm_year Год (текущий год минус 1900)

Сведения о настройке локального времени см. в разделе time, _ftimeи localtime функции. Сведения об определении среды часового пояса и глобальных переменных см. в _tzset этой функции.

Итоговая строка, полученная с помощью asctime, содержит ровно 26 символов и имеет вид Wed Jan 2 02:03:55 1980\n\0. Время в 24-часовом формате. Все поля имеют постоянную ширину. Символ новой строки и нуль-символ занимают две последние позиции строки. asctime использует один статически выделяемый буфер для хранения возвращаемой строки. Каждый вызов этой функции уничтожает результат предыдущего вызова.

_wasctime — это широкозначная версия asctime, и в противном случае она действует идентично asctime.

Эти функции проверяют свои параметры. Если timeptr указатель имеет значение NULL или содержит значения вне диапазона, вызывается обработчик недопустимых параметров, как описано в разделе проверки параметров. Если выполнение может быть продолжено, функция возвращает NULL и устанавливает для параметра errno значение EINVAL.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Сопоставление подпрограмм универсального текста

TCHAR.H Обычной _UNICODE и _MBCS не определен _MBCS Определенные _UNICODE Определенные
_tasctime asctime asctime _wasctime

Требования

Маршрут Обязательный заголовок
asctime <time.h>
_wasctime <time.h> или <wchar.h>

Пример

Эта программа помещает системное время в длинное целое число aclock, преобразует его в структуру newtime, а затем преобразует его в строковую asctime форму для вывода с помощью функции.

// crt_asctime.c
// compile with: /W3

#include <time.h>
#include <stdio.h>

int main( void )
{
    struct tm   *newTime;
    time_t      szClock;

    // Get time in seconds
    time( &szClock );

    // Convert time to struct tm form
    newTime = localtime( &szClock );

    // Print local time as a string.
    printf_s( "Current date and time: %s", asctime( newTime ) ); // C4996
    // Note: asctime is deprecated; consider using asctime_s instead
}
Current date and time: Sun Feb  3 11:38:58 2002

См. также

Управление временем
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64
_ftime, _ftime32, _ftime64
gmtime, _gmtime32, _gmtime64
localtime, _localtime32, _localtime64
time, _time32, _time64
_tzset
asctime_s, _wasctime_s