在C++中,可以使用mktime
函数将日期转换为时间戳。mktime
函数的原型如下:
time_t mktime(struct tm *timeptr);
其中,struct tm
结构体表示日期和时间信息,包括年、月、日、时、分、秒等。mktime
函数将struct tm
结构体表示的日期转换为对应的时间戳,返回值为time_t
类型的时间戳。
以下是一个简单的示例,演示如何使用mktime
函数将日期转换为时间戳:
#include <iostream>
#include <ctime>
int main() {
struct tm timeinfo = {0};
timeinfo.tm_year = 121; // 年份为2021,需要减去1900
timeinfo.tm_mon = 0; // 月份为1月,需减去1
timeinfo.tm_mday = 1; // 日期为1号
timeinfo.tm_hour = 0; // 小时为0
timeinfo.tm_min = 0; // 分钟为0
timeinfo.tm_sec = 0; // 秒为0
time_t timestamp = mktime(&timeinfo);
std::cout << "时间戳为:" << timestamp << std::endl;
return 0;
}
在上面的示例中,struct tm
结构体的成员变量分别表示2021年1月1日0时0分0秒,调用mktime
函数将其转换为时间戳并输出。