これは恥ずかしいですが、日時の単純な操作を行うのに苦労しています。
これは、私が基本的に 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) の値はまったく意味がありません。
datetime の C++11 標準ライブラリとして提示されている chrono を調べましたが、int year=2012、int month=2、int day=14 の日付を作成する方法の例が見つかりませんでした。
PS: c++11 で日付/時刻/タイムゾーンを処理するには chrono で十分ですか? time.h は必要ですか?