时间通过一个预定义的类型time_t来处理,以秒来计算日期和时间的长整型。与处理时间的函数一起定义在time.h中。
time_t time(time_t *tloc);
得到底层的时间值,如果tloc不为空,同时会把返回值写入tloc指针指向的位置。
double difftime(time_t time1, time_t time2);
计算两个时间值之间的差,并将time1-time2的值返回。
struct tm *gmtime(const time_t timeval);
把底层时间值分解为一个结构,该结构包含一些常用的字段:tm_sec(0-61)、tm_min(0-59)、tm_hour(0-23)、tm_mday(1-31)、tm_mon(0-11)、tm_year、tm_wday(0-6)、tm_yday(0-365)和tm_isdst(是否是夏令时)。
注意:tm_sec(0-61)范围允许临时闰秒或双闰秒。tm_mon一月份为0。tm_wday周日为0。
struct tm *localtime(const time_t *timeval);
查看当地时间
time_t mktime(struct tm *timeptr);
tm结构转为time_t时间值
char *asctime(const struct tm *timeptr);
char *ctime(const time_t *timeval);
返回一个字符串,格式:Sun Jun 6 12:30:34 1999/n/0
size_t strftime(char *s, size_t s_maxsize, const char *format, struct tm *timeptr);
格式化timptr时间和日期,并将结构放在字符串s中,返回值为字符串s的实际长度。
char *strptime(const char *buf, const char *format, struct tm *timeptr);