这很尴尬,但我很难对日期时间进行简单的操作。
这是我基本上尝试使用 c++11 实现的 c# 版本;
DateTime date1=new DateTime(4,5,2012);
DateTime date2=new DateTIme(7,8,2013);
int day1=date1.Days;
TimeSpan ts=d2-d1;
int diffDays=ts.Days;
我尝试了什么?
std::tm tm;
tm.tm_year=113;
tm.tm_mon=0;
tm.tm_wday=0;
std::time_t tt=mktime(&tm);
std::chrono::system_clock::time_point then = std::chrono::system_clock::from_time_t(tt);
std::chrono::system_clock::time_point now = std::chrono::system_clock::now();
auto e1 = std::chrono::duration_cast<std::chrono::hours>(now - then).count();
e1 (379218) 的值没有任何意义。
我看了一下 chrono,它作为 datetime 的 c++11 标准库提供,但我找不到如何创建具有 int year=2012、int month=2、int day=14 的日期的示例。
PS:chrono 是否足以在 c++11 中处理日期/时间/时区?需要time.h吗?