linux下获取时间的函数

#include <stdio.h>
#include <time.h>

void main ()
{
time_t rawtime;
struct tm * timeinfo;

time ( &rawtime );   //也可以:int seconds = time((time_t *) NULL);获取自19700101开始的秒数
timeinfo = localtime ( &rawtime );
printf ( "\007The current date/time is: %s", asctime (timeinfo) );

exit(0);
}

time ( &rawtime ); -- 获取时间,以秒计,从1970年1月一日起算,存于rawtime
localtime ( &rawtime ); -- 转为当地时间,tm 时间结构
asctime ()-- 转为标准ASCII时间格式: 星期 月 日 时:分:秒 年


例如想输出格式为 Y-M-D H:M:S,则可以为:
printf ( "%4d-%02d-%02d %02d:%02d:%02d\n", 1900+timeinfo->tm_year, 1+timeinfo->tm_mon, timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
就是直接打印tm,tm_year 从1900年计算,所以要加1900,月tm_mon从0开始计数,所以要加1。
posted @ 2013-04-17 17:27  云山漫卷  阅读(513)  评论(0编辑  收藏  举报