结构体tm定义
struct tm
{
int tm_sec; //秒钟(0~61)
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)周日为0
int tm_yday; //一年中的第几天(0~365)
int tm_isdst; //是否夏令时
}
类型 time_t,time.h中定义为
define long time_t;
该类型的变量可以表示自过去某一指定时刻以来经历的秒数。
time.h中的几个重要函数:
time_t time (time_t *t);
time_t mktime(struct tm *tim);
这两个函数均返回time_t类型变量。
函数time常用来获取当前时间,即time_t now = time((time_t*)0) 或者直接 time_t now = time(0);
还可以
time_t now;
time(&now);
函数mktime用来实现从tm结构到time_t类型的转化。
struct tm* gmtime (const time_t* t);
struct tm* localtime (const time_t* t);
这两个函数的参数均为指向time_t类型的指针,且都返回指向tm结构的指针。
二者均可实现由time_t到tm的转化,不同之处在于,gmtime返回的是GMT时间,即格林尼治时间,而localtime返回的是本地时间。
char *asctime (const struct tm* tim);
char *ctime (const time_t* t);
这两个函数均返回一个描述时间的字符串,格式类似 Sun Jun 9 12:34:56 2007\n\0
它总是包含26个字符。
double difftime (time_t t1, time_t t2);
返回t1和t2的差值,即t1-t2。
注:
除了返回值为time_t类型的和difftime之外,所有函数返回值均为指针;
除了difftime之外,所有函数的参数均为指针。