asctime函数是将tm日期时间结构体转换成日期时间字符串,因此得到秒数时间后还要转换成tm格式。ctime函数则可以直接完成秒数日期时间格式time_t转成日期时间字符串格式输出。使用更加方便。
ctime使用要包含的头文件时time.h,asctime函数也是一样。
ctime函数声明如下:
char *ctime( const time_t *timer );
返回值:指向日期时间字符串的指针。如果返回的时间在1970年1月1日 0:0:0(UTC时间)之前,则返回NULL。
唯一的参数就是time_t秒数日期时间格式的值,通常由time函数获取。返回的时间字符串格式与asctime返回的一样,格式如下:
Wed Jan 02 02:03:55 1980\n\0
还是24小时制,所有字段都是等宽的。等宽表示每一部分的字符数都是固定的。以\n\0表示换行和字符串结束。转换后的时间还会根据本地时区进行调整,以匹配本地时区,得到本地时区正确的日期时间。
函数asctime, localtime, gmtime 和
ctime都是共享一个日期时间字符串缓冲区的,因此都是对同一个缓冲区进行修改。所以,这四个函数会相互影响,后面执行的会将前面执行的数据破坏掉,因此要特别注意。
ctime函数使用代码示例如下:
#include #include void main( void )
{
time_t ltime;
time(
printf( "日期时间为: %s\n", ctime(
}
代码说明:
1.使用time获取time_t格式的日期时间。
2.然后就是使用ctime将时间转换成字符串输出。相对于asctime函数,代码简洁多了。
3.这里就不展示自定义时间格式了,有兴趣可以参考《asctime函数使用及C语言显示日期时间代码详解》
4.时间输出示例:【日期时间为: Sat Feb 14 12:25:12 2015】