C 语言标准库函数time_t mktime(struct tm *timeptr)把timeptr所指向的结构转换为一个依据本地时区的 time_t 值

头文件

#include

函数原型

下面是 mktime() 函数的原型
time_tmktime(structtm*timeptr)

参数

timeptr: 这是指向表示日历时间的 time_t 值的指针,该日历时间被分解为以下各部分。
下面是 timeptr 结构的细节:
structtm{inttm_sec;/* 秒,范围从 0 到59*/inttm_min;/* 分,范围从 0 到59*/inttm_hour;/* 小时,范围从 0 到23*/inttm_mday;/* 一月中的第几天,范围从 1 到31 */inttm_mon;/* 月份,范围从 0 到11*/inttm_year;/* 自1900 起的年数 */inttm_wday;/* 一周中的第几天,范围从 0 到6*/inttm_yday;/* 一年中的第几天,范围从 0 到365 */inttm_isdst;/* 夏令时 */ };

返回值

mktime() 函数返回一个 time_t 值,该值对应于以参数传递的日历时间。 如果发生错误,则返回 -1

范例

下面的范例演示了 mktime() 函数的用法
/** * file: main.c * author: 简单教程(www.twle.cn) * * Copyright © 2015-2065 www.twle.cn. All rights reserved. */#include#includeintmain(){intret;structtminfo;charbuffer[80];info.tm_year=2017-1900;info.tm_mon=9-1;info.tm_mday=27;info.tm_hour=21;info.tm_min=46;info.tm_sec=15;info.tm_isdst=-1;ret=mktime(&info);if(ret==-1){printf("错误:不能使用 mktime 转换时间\n");}else{strftime(buffer,sizeof(buffer),"%c",&info);printf("%s\n",buffer);}return(0);}
编译运行以上范例,输出结果如下
$ gcc main.c&& ./a.out Wed Sep2721:46:152017