在C语言中转换时间的基本方法介绍
C语言mktime()函数:将时间转换成经过的秒数
头文件:
#include<time.h>
定义函数:
time_tmktime(strcuttm*timeptr);
函数说明:mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0秒算起至今的UTC时间所经过的秒数。
返回值:返回经过的秒数。
范例:用time()取得时间(秒数),利用localtime()转换成structtm再利用mktine()将structtm转换成原来的秒数。
#include<time.h> main(){ time_ttimep; strcuttm*p; time(&timep); printf("time():%d\n",timep); p=localtime(&timep); timep=mktime(p); printf("time()->localtime()->mktime():%d\n",timep); }
执行结果:
time():974943297time()->localtime()->mktime():974943297
C语言localtime()函数:获取当前时间和日期并转换为本地时间
头文件:
#include<time.h>
定义函数:
structtm*localtime(consttime_t*timep);
函数说明:localtime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。结构tm的定义请参考gmtime()。此函数返回的时间日期已经转换成当地时区。
返回值:返回结构tm代表目前的当地时间。
范例
#include<time.h> main(){ char*wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; time_ttimep; structtm*p; time(&timep); p=localtime(&timep);//取得当地时间 printf("%d%d%d",(1900+p->tm_year),(l+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/28Sat11:12:22