Дата и время в C++
Полный момент хранит и дату, и время суток.
Его записывают в std::chrono::sys_seconds:
к дате прибавляют часы и минуты. Обратно
дату и часы читают по отдельности:
int main() {
std::chrono::year_month_day ymd{std::chrono::year{2024}, std::chrono::month{11}, std::chrono::day{20}};
std::chrono::sys_seconds moment = std::chrono::sys_days{ymd} + std::chrono::hours{8};
auto dp = std::chrono::floor<std::chrono::days>(moment);
std::chrono::year_month_day date = std::chrono::year_month_day{dp};
std::chrono::hh_mm_ss time{moment - dp};
std::cout << unsigned(date.day()) << " "
<< time.hours().count() << "\n";
return 0;
}
Создайте отметку 2024-11-20 08:00:00 и выведите день месяца и часы.
Создайте отметку 2024-11-20 08:30:00
и выведите минуты.
Даны части:
int y = 2022;
unsigned m = 2;
unsigned d = 28;
int h = 12;
int min = 0;
Соберите полную отметку с нулевыми секундами и выведите месяц.