asctime函数
概要:
#include <time.h> char *asctime(const struct tm *timeptr);
描述:
该函数将参数timeptr指向结构中的分解时间转换为以下格式的字符串:
Sun Jul 16 19:30:25 2017\n\0
这种转换等价于使用以下算法:
char *asctime(const struct tm *timeptr) { static const char wday_name[7][3] = { "Sun","Mon","Tue","Wed","Thu","Fri","Sat" }; static const char mon_name[12][3] = { "Jan","Feb","Mar","Apr","May","Jun", "Jul","Aug","Sep","Oct","Nov","Dec" }; static char result[26]; sprintf(result,"%.3s %.3s%3d %.2d:%.2d:%.2d %d\n", wday_name[timeptr->tm_wday], mon_name[timeptr->tm_mon], timeptr->tm_mday, timeptr->tm_hour, timeptr->tm_min, timeptr->tm_sec, 1900 + timeptr->tm_year ); return result; }
如果参数timeptr指向对象的任何结构成员值超出了有效范围,asctime函数的行为是未定义的;如果计算的年份超过4位数或者小于1000,函数行为同样是未定义的。
同一线程中asctime函数调用和ctime函数调用返回的指针指向相同的静态对象。asctime函数调用可能会覆盖先前asctime函数或者ctime函数调用的数据,并且asctime函数不需要避免数据竞争。实现应像没有库函数调用asctime函数一样。
ISO/IEC 9899:2018标准定义了该函数的安全版本asctime_s。
参数:
const struct tm *timeptr
参数为一个指向struct tm类型对象的指针。
返回值:
函数返回一个指向字符串的指针。
范例:
|
|
输出:
Current time:Sun Jul 16 19:30:25 2017
相关内容:
struct tm | 表示分解时间的结构类型。 |