-1

我从我的应用程序中获取秒、分、小时、日、月和年作为单个值,并且需要从这些值生成一个 unix 时间戳。

我只找到了如何使用 C 函数直接获取时间戳的解决方案。

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

4

1 回答 1

5

要么使用std::mktime,C 库函数也可在 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);

或者,对于更多 C++ 风格,使用第三方库,例如 Boost.DateTime 的Gregorian date system

于 2013-07-17T11:38:38.503 回答