std::chrono::year_month_day
Определён в заголовочном файле <chrono> | ||
|---|---|---|
class year_month_day; | (начиная с C++20) |
Класс year_month_day представляет определённые год, месяц и день. Это полевая точка времени с разрешением std::chrono::days. Непосредственно поддерживаются арифметические операции с std::chrono::years и std::chrono::months. Неявное преобразование в std::chrono::sys_days и обратно позволяет эффективно выполнять арифметические операции с std::chrono::days.
year_month_day является типом TriviallyCopyable и StandardLayoutType.
Функции-члены
создаёт объект year_month_day (открытая функция-член) |
|
| изменяет точку времени на заданное число месяцев или лет (открытая функция-член) |
|
| получает год, месяц и день, хранящиеся в этом объекте (открытая функция-член) |
|
преобразует в std::chrono::time_point (открытая функция-член) |
|
проверяет, представляет ли year_month_day допустимую дату (открытая функция-член) |
Функции вне класса
|
(C++20) | сравнивает два значения year_month_day (функция) |
|
(C++20) | прибавляет или вычитает year_month_day и заданное число лет или месяцев (функция) |
|
(C++20) | выводит year_month_day в поток (шаблон функции) |
|
(C++20) | разбирает year_month_day из потока в соответствии с заданным форматом (шаблон функции) |
Вспомогательные классы
|
(C++20) | поддержка форматирования для year_month_day (специализация шаблона класса) |
|
(C++26) | поддержка хеширования для std::chrono::year_month_day (специализация шаблона класса) |
Пример
#include <chrono>
#include <iostream>
int main()
{
const std::chrono::time_point now{std::chrono::system_clock::now()};
const std::chrono::year_month_day ymd{std::chrono::floor<std::chrono::days>(now)};
std::cout << "Current Year: " << static_cast<int>(ymd.year()) << ", "
"Month: " << static_cast<unsigned>(ymd.month()) << ", "
"Day: " << static_cast<unsigned>(ymd.day()) << "\n"
"ymd: " << ymd << '\n';
}
Возможный вывод:
Current Year: 2023, Month: 9, Day: 4 ymd: 2023-09-04
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/chrono/year_month_day