Как привести из utc_time <seconds>в utc_time <days> - PullRequest
0 голосов
/ 17 января 2019

Я хочу загрузить переменную 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 <дни> (х);

time_point_cast приводит от точной временной точки к более точной временной точке.

1 Ответ

0 голосов
/ 17 января 2019

В дополнение к 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 - до эпохи 1970-01-01.

...