tm 结构的定义如下:
struct tm { int tm_sec; /* 秒,范围从 0 到 59 */ int tm_min; /* 分,范围从 0 到 59 */ int tm_hour; /* 小时,范围从 0 到 23 */ int tm_mday; /* 一月中的第几天,范围从 1 到 31 */ int tm_mon; /* 月,范围从 0 到 11(注意) */ int tm_year; /* 自 1900 年起的年数 */ int tm_wday; /* 一周中的第几天,范围从 0 到 6 */ int tm_yday; /* 一年中的第几天,范围从 0 到 365 */ int tm_isdst; /* 夏令时 */ };
2:time函数
函数原型: time_t time(time_t *timer)
参数说明: timer=NULL时得到当前日历时间(从1970-01-01 00:00:00到现在的秒数),timer=时间数值时,用于设置日历时间,time_t是一个unsigned long类型。如果 timer不为空,则返回值也存储在变量 timer中。
函数功能: 得到当前日历时间或者设置日历时间
函数返回: 当前日历时间
1 #include <stdio.h> 2 #include <time.h> 3 4 int main () 5 { 6 time_t seconds; 7 8 seconds = time(NULL); 9 printf("自 1970-01-01 起的小时数 = %ld\n", seconds/3600); 10 11 return(0); 12 }
1 #include <stdio.h> 2 #include <time.h> 3 4 int main () 5 { 6 time_t timer; 7 struct tm *Now; 8 9 time( &timer ); 10 Now = localtime( &timer ); 11 printf("当前的本地时间和日期:%s", asctime(Now)); 12 13 return(0); 14 }
输出结果:
当前的本地时间和日期:Mon Oct 11 22:55:26 2021
1 #include <stdio.h> 2 #include <time.h> 3 4 int main () 5 { 6 time_t rawtime; 7 struct tm * timeinfo; 8 char buffer [128]; 9 10 time (&rawtime); 11 printf("%ld\n", rawtime); 12 13 timeinfo = localtime (&rawtime); 14 strftime (buffer,sizeof(buffer),"Now is %Y/%m/%d %H:%M:%S",timeinfo); 15 printf("%s\n", buffer); 16 17 return 0; 18 }
参考资料