当前位置:C++技术网 > 资讯 > 时间处理函数:2 ctime函数(秒数格式日期时间time_t转成日期时间字符串)详解

时间处理函数:2 ctime函数(秒数格式日期时间time_t转成日期时间字符串)详解

更新时间:2015-06-26 18:48:20浏览次数:1+次

    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 <time.h>
#include <stdio.h>
void main( void )
{
   time_t ltime;
   time( &ltime );
   printf( "日期时间为: %s\n", ctime( &ltime ) );
}

代码说明:
1.使用time获取time_t格式的日期时间。
2.然后就是使用ctime将时间转换成字符串输出。相对于asctime函数,代码简洁多了。
3.这里就不展示自定义时间格式了,有兴趣可以参考《asctime函数使用及C语言显示日期时间代码详解
4.时间输出示例:【日期时间为: Sat Feb 14 12:25:12 2015】