如何从utc_time <seconds>转换为utc_time <days>

时间:2019-01-17 08:56:46

标签: casting c++14 chrono

我想加载带有年,月,日的utc_time 变量。
我不知道如何将结果'x'从date :: utc_seconds转换为utc_time 以及通常如何转换例如utc_time <毫秒>到utc_time <天> ...

auto x = to_utc_time(sys_days(year_month_day{ year{y}, month(m), day(d) }));
utc_time<days> utc_tp = ?x?; // now x => date::utc_seconds

已解决:     utc_time <天> utc_tp = time_point_cast <天>(x);

time_point_cast从精度较高的时间点转换为精度较高的时间点。

1 个答案:

答案 0 :(得分:1)

除了time_point_cast<days>(会向时代截断)外,还有以下内容:

  • floor<days>(x):截断到当天的开始。

  • ceil<days>(x):截断到第二天的开始。

  • round<days>(x):截断到最近的日期边界。

time_point_cast<days>(x)等效于floor<days>(x),当x在1970-01-01时代之后,而ceil<days>(x)等效于x,当{{1}}在1970-01-01之后。 1970-01-01时代。