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
из потока согласно предоставленному формату
(шаблон функции) |
Вспомогательные классы
поддержка форматирования для
year_month_day
(специализация шаблона класса) |
|
|
поддержка хеширования для
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