如何在C++中生成unix时间戳?

baa*_*aam -1 c++ time timestamp

我将第二个,分钟,小时,日,月和年作为我的应用程序中的单个值,并且需要从此值生成一个unix时间戳.

我只找到了如何直接获得C函数的时间戳的解决方案.

如何使用C++中的给定值生成unix时间戳?

Mik*_*our 5

使用std::mktimeC++标准库中也可以使用C库函数:

#include <ctime>

std::tm tm;
tm.tm_sec = seconds;
tm.tm_min = minutes;
tm.tm_hour = hours;
tm.tm_mday = day;
tm.tm_mon = month - 1;    // Assuming your month represents Jan with 1
tm.tm_year = year - 1900; // Assuming your year is the AD year number

std::time_t time = std::mktime(&tm);
Run Code Online (Sandbox Code Playgroud)

或者,对于更多C++风格,使用第三方库,如Boost.DateTime的Gregorian日期系统.