📜  C++ STL中的mktime()函数(1)

📅  最后修改于: 2023-12-03 14:39:52.015000             🧑  作者: Mango

C++ STL中的mktime()函数

在C++ STL中,mktime()函数用于将struct tm类型的时间转换为time_t类型的秒数。

函数格式
#include <ctime>

time_t mktime(struct tm* timeptr);
函数参数
  • timeptr:指向结构体struct tm的指针,包含日期和时间信息。
函数返回值
  • 返回type_t类型的秒数。
函数示例
#include <iostream>
#include <ctime>

using namespace std;

int main()
{
    // 设置结构体tm的时间
    struct tm tm_time = { 0 };
    tm_time.tm_year = 2021 - 1900;  // 年份,需要减去1900
    tm_time.tm_mon = 3 - 1;  // 月份,0代表1月,需要减一
    tm_time.tm_mday = 9;  // 日期
    tm_time.tm_hour = 18;  // 小时
    tm_time.tm_min = 30;  // 分钟
    tm_time.tm_sec = 0;  // 秒

    // 转换为time_t类型秒数
    time_t time_sec = mktime(&tm_time);
    cout << time_sec << endl;  // 输出秒数

    return 0;
}
注意事项
  • 结构体struct tm中的年份需要减去1900;
  • 结构体struct tm中的月份需要减去1。