asctime, _wasctime
转换 tm 机制为字符字符串。 这些功能的更安全版本可用; asctime_s, _wasctime_s参见。
char *asctime(
const struct tm *timeptr
);
wchar_t *_wasctime(
const struct tm *timeptr
);
参数
- timeptr
时间/日期结构。
返回值
asctime 返回指向字符字符串结果; _wasctime 返回指向宽字符字符串结果。 无错误返回值。
备注
这些功能的更安全版本可用; 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;sunday = 0) |
tm_yday |
日、 (0-365;一月 1 日 = 0 日) |
tm_year |
年份 (减号 1900 的当前年份) |
转换后的字符字符串具体取决于本地时区设置也会调整。 有关定义时区环境和全局变量的信息,有关配置本地时间的信息,请参见 时间、 _ftime和 localtime 功能和 _tzset 功能。
asctime 产生的结果字符串只包含 26 个字符并具有以下形式 Wed Jan 02 02:03:55 1980\n\0。 使用 24 小时制。 所有字段都有一个固定宽度。 换行符和在 null 字符占据将字符串中的前两个位置。 asctime ,使用一个静态分配的缓冲区容纳返回字符串。 每个对此函数的调用销毁结果的前一个调用。
_wasctime 是 asctime的宽字符版本。 _wasctime 和 asctime 否则具有相同的行为。
这些功能验证其参数。 如果 timeptr 是 null 指针,或者,如果它包含超出范围的值,无效参数调用处理程序,如 参数验证所述。 如果执行允许继续,该函数返回 NULL 并将 errno 到 EINVAL。
一般文本例程映射
TCHAR.H 实例 |
未定义的 _UNICODE _MBCS |
定义的 _MBCS |
定义的 _UNICODE |
---|---|---|---|
_tasctime |
asctime |
asctime |
_wasctime |
要求
实例 |
必需的头 |
---|---|
asctime |
time.h |
_wasctime |
time.h 或 wchar.h |
示例
使用 asctime 功能,此程序将个长整数 aclock将系统时,将其转换为结构 newtime 然后将其转换为输出的字符串形式,。
// 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
}
.NET Framework 等效项
请参见
参考
ctime, _ctime32, _ctime64, _wctime, _wctime32, _wctime64