time(取得目前的时间) |
|
相关函数
|
ctime,ftime,gettimeofday |
表头文件
|
#include<time.h> |
定义函数
|
time_t time(time_t *t); |
函数说明
|
此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。如果t 并非空指针的话,此函数也会将返回值存到t指针所指的内存。 |
返回值
|
成功则返回秒数,失败则返回((time_t)-1)值,错误原因存于errno中。 |
范例
|
#include<time.h> mian() { time_t tm_test; int seconds= time((time_t*)NULL); //秒数返回给seconds printf(“%d ”,seconds); time(&tm_test);//函数中存储给该空间 } |
gmtime(取得目前时间和日期) |
|
相关函数
|
time,asctime,ctime,localtime |
表头文件
|
#include<time.h> |
定义函数
|
struct tm*gmtime(const time_t*timep); |
函数说明
|
gmtime()将参数timep 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。 结构tm的定义为 struct tm { 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; }; int tm_sec 代表目前秒数,正常范围为0-59,但允许至61秒 int tm_min 代表目前分数,范围0-59 int tm_hour 从午夜算起的时数,范围为0-23 int tm_mday 目前月份的日数,范围01-31 int tm_mon 代表目前月份,从一月算起,范围从0-11 int tm_year 从1900 年算起至今的年数 int tm_wday 一星期的日数,从星期一算起,范围为0-6 int tm_yday 从今年1月1日算起至今的天数,范围为0-365 int tm_isdst 日光节约时间的旗标 此函数返回的时间日期未经时区转换,而是UTC时间。 |
返回值
|
返回结构tm代表目前UTC 时间 |
范例
|
#include <time.h> main() { char *wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; time_t timep; struct tm *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 ”, wday[p->tm_wday], p->tm_hour, p->tm_min,p->tm_sec); } |
localtime(取得当地目前时间和日期) |
|
相关函数
|
time, asctime, ctime, gmtime |
表头文件
|
#include<time.h> |
定义函数
|
struct tm *localtime(const time_t * timep); |
函数说明
|
localtime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。结构tm的定义请参考gmtime()。此函数返回的时间日期已经转换成当地时区。 |
返回值
|
返回结构tm代表目前的当地时间。 |
范例
|
#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 ”, wday[p->tm_wday],p->tm_hour, p->tm_min,p->tm_sec); } |