C语言中读取时间日期的基本方法
C语言time()函数:获取当前时间(以秒数表示)
头文件:
#include<time.h>
定义函数:
time_ttime(time_t*t);
函数说明:此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。如果t并非空指针的话,此函数也会将返回值存到t指针所指的内存。
返回值:成功则返回秒数,失败则返回((time_t)-1)值,错误原因存于errno中。
范例
#include<time.h> main(){ intseconds=time((time_t*)NULL); printf("%d\n",seconds); }
执行结果:
9.73E+08
C语言gmtime()函数:获取当前时间和日期
头文件:
#include<time.h>
定义函数:
structtm*gmtime(consttime_t*timep);
函数说明:gmtime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。
结构tm的定义为
structtm{ inttm_sec;//代表目前秒数,正常范围为0-59,但允许至61秒 inttm_min;//代表目前分数,范围0-59 inttm_hour;//从午夜算起的时数,范围为0-23 inttm_mday;//目前月份的日数,范围01-31 inttm_mon;//代表目前月份,从一月算起,范围从0-11 inttm_year;//从1900年算起至今的年数 inttm_wday;//一星期的日数,从星期一算起,范围为0-6 inttm_yday;//从今年1月1日算起至今的天数,范围为0-365 inttm_isdst;//日光节约时间的旗标 };
此函数返回的时间日期未经时区转换,而是UTC时间。
返回值:返回结构tm代表目前UTC时间。
范例
#include<time.h> main(){ char*wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; time_ttimep; structtm*p; time(&timep); p=gmtime(&timep); printf("%d%d%d",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday); printf("%s%d;%d;%d\n",wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec); }
执行结果:
2000/10/28Sat8:15:38