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
_wctime
_ctime64
_wctime32
,_wctime64
_ftime
, , _ftime32
_ftime64
gmtime
, , _gmtime32
_gmtime64
localtime
, , _localtime32
_localtime64
time
, , _time32
_time64
_tzset
asctime_s
, _wasctime_s