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