将一天中的小时和一周中的天转换为c++中的datetime

Convert hour of the day and day of the week into datetime in C++

本文关键字:c++ 中的 转换 datetime 一周 一天 小时      更新时间:2023-10-16

如果我有一天中的一个小时和一周中的一天分别是凌晨1点和星期一。如何在c++中将这些转换为日期时间值?提前谢谢。

问候,杰克

也许这能帮到你:

boost.org

周日凌晨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);