Сравнение дат в C++
Две даты можно сравнить: какая раньше,
какая позже и совпадают ли они.
Их ставят в точки sys_days
и сравнивают обычными операторами порядка:
int main() {
std::chrono::year_month_day a{std::chrono::year{2020}, std::chrono::month{12}, std::chrono::day{31}};
std::chrono::year_month_day b{std::chrono::year{2021}, std::chrono::month{1}, std::chrono::day{1}};
std::cout << std::boolalpha
<< (std::chrono::sys_days{a} < std::chrono::sys_days{b}) << "\n";
return 0;
}
Даны даты:
std::chrono::year_month_day a{std::chrono::year{2020}, std::chrono::month{12}, std::chrono::day{31}};
std::chrono::year_month_day b{std::chrono::year{2021}, std::chrono::month{1}, std::chrono::day{1}};
Выведите true, если первая раньше второй.
Сравните текущую дату с 2030-01-01 и выведите
"before", "after" или "same".
Даны три даты:
std::chrono::year_month_day x{std::chrono::year{2022}, std::chrono::month{5}, std::chrono::day{5}};
std::chrono::year_month_day y{std::chrono::year{2022}, std::chrono::month{5}, std::chrono::day{5}};
std::chrono::year_month_day z{std::chrono::year{2022}, std::chrono::month{5}, std::chrono::day{6}};
Выведите true, если x и y равны.