#include <stdio.h> #include <time.h> void main () { time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); printf ( "\007The current date/time is: %s", asctime (timeinfo) ); exit(0); } ================= #include <time.h> -- 必须的时间函数头文件 time_t -- 时间类型(time.h 定义) struct tm -- 时间结构,time.h 定义如下: int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; time ( &rawtime ); -- 获取时间,以秒计,从1970年1月一日起算,存于rawtime localtime ( &rawtime ); -- 转为当地时间,tm 时间结构 asctime ()-- 转为标准ASCII时间格式: 星期 月 日 时:分:秒 年 ========================================= 改变显示顺序的示例: 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