总结C语言time.h头文件中日期和时间的处理

结构体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之外,所有函数的参数均为指针。

你可能感兴趣的:(C/C++)