繁体   English   中英

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

[英]How to generate unix timestamp in C++?

我从应用程序中获取了第二,分钟,小时,天,月和年作为单个值,并且需要从该值生成unix时间戳。

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

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

使用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日期系统

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM