如果我有一天中的小时和一周中的一天作为凌晨 1 点和星期一。如何将这些转换为 C++ 中的日期时间值?提前致谢。
问候,杰克
周日凌晨 2 点每周至少发生一次(切换到/从夏令时时发生两次!)。
所以你需要那个月的月份和日期。
标准 C/C++ 中的时间可以用std::tm表示
保存日历日期和时间的结构
std::tm tm;
tm.tm_wday = 1; // monday
tm.tm_hour = 1; // 1 am
如何获取当地时间?
#include <ctime>
...
time_t rawtime = time(&rawtime);
struct tm *tnow = localtime(&rawtime);
也许更简单的选择是使用 C++11 time_point(必须具有兼容的编译器)
system_clock::time_point now = system_clock::now();
然后回到一个 tm 对象
std::tm* tnow = localtime(now);
时间差异
struct tm diff = difftime(mktime(&tnow),mktime(&tm);
可能这可以帮助你: