Как я могу получить день недели, используя std::chrono после расчета дня/месяца/года?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как я могу получить день недели, используя std::chrono после расчета дня/месяца/года?

Сообщение Anonymous »

Я рассчитал день, день месяца и год, а также секунды, минуты и часы, используя std::chrono::local_days, мне просто нужно получить день недели. Код, который я использую, был предоставлен Говардом Хиннантом в ответе здесь, комментарии мои:

Код: Выделить всё

auto tp = std::chrono::system_clock::now();
static auto const tz = std::chrono::current_zone();
static auto info = tz->get_info(tp); // CACHE THE TIMEZONE INFO
if (tp >= info.end) // APPARENTLY THE TIME ZONE INFO CAN CHANGE UP TO TWICE A YEAR
info = tz->get_info(tp);
auto tpl = std::chrono::local_days{} + (tp + info.offset - std::chrono::sys_days{});
auto tpd = floor(tpl);
std::chrono::year_month_day ymd{ tpd };
std::chrono::hh_mm_ss hms{ tpl - tpd };
На данный момент у меня есть то, о чем я упоминал выше: как мне получить день недели с как можно меньшим количеством повторных вызовов?

Подробнее здесь: https://stackoverflow.com/questions/784 ... ulated-the
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»