1

如果我有一天中的小时和一周中的一天作为凌晨 1 点和星期一。如何将这些转换为 C++ 中的日期时间值?提前致谢。

问候,杰克

4

3 回答 3

0

周日凌晨 2 点每周至少发生一次(切换到/从夏令时时发生两次!)。

所以你需要那个月的月份和日期。

于 2013-06-18T03:51:43.517 回答
0

标准 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);
于 2013-06-18T03:55:10.983 回答
0

可能这可以帮助你:

boost.org

于 2013-06-18T03:48:27.910 回答