Практика по дате и времени в C++
Дана дата начала подписки:
std::chrono::year_month_day start{std::chrono::year{2024}, std::chrono::month{8}, std::chrono::day{10}};
Выведите дату окончания на 30 дней позже и проверьте, наступила ли она уже относительно сегодняшнего дня.
Даны отметки смены в один день:
std::chrono::year_month_day d{std::chrono::year{2024}, std::chrono::month{3}, std::chrono::day{1}};
std::chrono::sys_seconds opened = std::chrono::sys_days{d} + std::chrono::hours{8};
std::chrono::sys_seconds closed = std::chrono::sys_days{d} + std::chrono::hours{17} + std::chrono::minutes{30};
Найдите длительность смены в минутах и выведите результат.
Даны дни рождения:
std::chrono::year_month_day ann{std::chrono::year{1995}, std::chrono::month{2}, std::chrono::day{14}};
std::chrono::year_month_day bob{std::chrono::year{1992}, std::chrono::month{11}, std::chrono::day{30}};
Определите, у кого день рождения наступит раньше в текущем году, и выведите имя на английском: Ann или Bob.
Выведите текущую дату как год-месяц-день и код дня недели через weekday, разделив пробелом.
Дана отметка:
std::chrono::sys_seconds backup = std::chrono::sys_days{std::chrono::year_month_day{std::chrono::year{2023}, std::chrono::month{5}, std::chrono::day{1}}} + std::chrono::hours{2};
Найдите число дней от этой даты до текущей и выведите результат.
Даны границы:
std::chrono::year_month_day from{std::chrono::year{2025}, std::chrono::month{1}, std::chrono::day{1}};
std::chrono::year_month_day to{std::chrono::year{2025}, std::chrono::month{12}, std::chrono::day{31}};
Подсчитайте, сколько дней в этом интервале включая обе границы, и выведите число.
Даны две даты:
std::chrono::year_month_day a{std::chrono::year{2026}, std::chrono::month{6}, std::chrono::day{1}};
std::chrono::year_month_day b{std::chrono::year{2026}, std::chrono::month{9}, std::chrono::day{1}};
Сравните их и выведите before, after или same.
Дано время:
std::chrono::hh_mm_ss t1{std::chrono::hours{9} + std::chrono::minutes{15}};
std::chrono::hh_mm_ss t2{std::chrono::hours{9} + std::chrono::minutes{45}};
Найдите разность в минутах и выведите результат.