Код: Выделить всё
#include
using namespace std::chrono;
void DisplayDate(int y, int m, int d) {//e.g. 2024, 11, 22
time_point tp;
//tp = system_clock::now(); // this works as expected.
tp = system_clock::time_point(years(y-1970) + months(m-1) + days(d-1));// this doesn't
std::wstring s = std::format(L"{:%Y-%m-%d %H:%M:%S}", zoned_time{current_zone(), tp});
wprintf(s.c_str());
}
Я мог бы использовать обход std::tm из раздела «Как получить хроно-точку времени из года, месяца, дня, часа, минуты, секунды, миллисекунды? но я хочу понять, как это сделать напрямую.
Подробнее здесь: https://stackoverflow.com/questions/792 ... -month-day