如何将时间转换为纪元时间?

2021-12-23 00:00:00 time c++

假设我有一个特定的时刻,我知道时、分、日、秒、月、年等;我如何转换这个纪元时间(自 1970 年以来的秒数)?

Say I have a specific instant in time where I know the hour, minute, day, second, month, year, etc; how can I convert this epoch time (seconds since 1970)?

我不会使用 Boost,所以请不要建议 Boost 解决方案.

I can't use Boost, so please don't suggest a Boost solution.

推荐答案

使用mktime(3) 函数.例如:

Use the mktime(3) function. For example:

struct tm t = {0};  // Initalize to all 0's
t.tm_year = 112;  // This is year-1900, so 112 = 2012
t.tm_mon = 8;
t.tm_mday = 15;
t.tm_hour = 21;
t.tm_min = 54;
t.tm_sec = 13;
time_t timeSinceEpoch = mktime(&t);
// Result: 1347764053

相关文章