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

时间:2013-06-18 03:40:01

标签: c++

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

此致 千斤顶

3 个答案:

答案 0 :(得分:0)

可能会对您有所帮助:

boost.org

答案 1 :(得分:0)

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

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

答案 2 :(得分: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);