📜  C++ mktime()(1)

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

C++ mktime() 函数介绍

简介

在 C++ 中,mktime() 函数是 用于将本地时间转换为秒数 表示的时间戳。它是 头文件中的一个函数,可以用于操作日期和时间。

函数声明

函数声明如下:

time_t mktime(struct tm * timeinfo);
参数
  • timeinfo: 指向 tm 结构的指针,其中包含了本地时间的日期和时间信息。
返回值

函数返回一个 time_t 类型的值,即日期和时间对应的秒数表示的时间戳。

示例代码

下面是使用 mktime() 函数的一个示例代码段:

#include <iostream>
#include <ctime>

int main() {
    struct tm timeinfo;
    time_t result;

    timeinfo.tm_year = 121;    // 年份,从1900年开始计算,这里是2021年,所以是121
    timeinfo.tm_mon = 2;       // 月份,从0开始计算,这里是3月,所以是2
    timeinfo.tm_mday = 18;     // 几号,这里是18号
    timeinfo.tm_hour = 9;      // 小时,这里是9点
    timeinfo.tm_min = 30;      // 分钟,这里是30分
    timeinfo.tm_sec = 0;       // 秒钟,这里是0秒
    timeinfo.tm_isdst = -1;    // 是否为夏令时,默认使用系统规则

    // 将本地时间转换为时间戳
    result = mktime(&timeinfo);

    // 输出时间戳
    std::cout << "时间戳:" << result << std::endl;

    return 0;
}

此代码将日期和时间信息设置为 2021年3月18日 09:30:00,并将其转换为时间戳。最后输出时间戳。

注意事项
  • tm 结构中的年份需要从 1900 年开始计算,所以需要将实际年份减去 1900 年。
  • tm 结构中的月份从 0 开始计算,所以需要将实际月份减去 1。
  • mktime() 函数的返回值是一个表示秒数的 time_t 类型的值。如果调用失败,返回值为 -1。

这就是关于使用 C++ 中 mktime() 函数的介绍,它可以将本地时间转换为时间戳。