C语言mktime():将tm时间转换为秒
mktime() 是 C语言的一个标准库函数,定义在
mktime() 函数的功能是将 struct tm 结构体类型的时间信息转换成 time_t 类型的时间,也就是自 1970 年 1 月 1 日 00:00:00 以来的秒数。
mktime() 函数的原型如下:
【实例】以下的 C语言示例演示了用 mktime() 函数将一个 tm 结构体转换为 time_t 类型,并打印结果。
<time.h>头文件中。mktime() 函数的功能是将 struct tm 结构体类型的时间信息转换成 time_t 类型的时间,也就是自 1970 年 1 月 1 日 00:00:00 以来的秒数。
mktime() 函数的原型如下:
time_t mktime(struct tm* timeptr);
参数
timeptr:指向 struct tm 结构的指针,即要转换的 tm 时间信息。返回值
返回自 1970 年 1 月 1 日 00:00:00 到现在所经过的秒数。如果转换失败,函数返回 -1。【实例】以下的 C语言示例演示了用 mktime() 函数将一个 tm 结构体转换为 time_t 类型,并打印结果。
#include <stdio.h>
#include <time.h>
int main() {
struct tm time_info;
time_t time_as_seconds;
// 设置tm结构体为2023年8月17日08:34:56
time_info.tm_year = 2023 - 1900; // 年份从1900年开始
time_info.tm_mon = 8 - 1; // 月份从0开始
time_info.tm_mday = 17; // 日
time_info.tm_hour = 8; // 小时
time_info.tm_min = 34; // 分钟
time_info.tm_sec = 56; // 秒
time_info.tm_isdst = -1; // 让mktime()自动检测夏令时
// 转换为time_t类型
time_as_seconds = mktime(&time_info);
if (time_as_seconds != (time_t)(-1)) {
printf("时间转换为秒数成功: %ld\n", (long)time_as_seconds);
} else {
printf("时间转换失败\n");
}
return 0;
}
输出结果为:
时间转换为秒数成功: 1692232496
ICP备案:
公安联网备案: