Пространства имён
Варианты
Действия

std::chrono::year_month_day

Материал из cppreference.com
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм (C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования (C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
 
 
<tbody> </tbody>
Определено в заголовочном файле <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
(public функция-элемент) [править]
изменяет момент времени на некоторое количество месяцев или лет
(public функция-элемент) [править]
получает доступ к году, месяцу и дню, хранящимся в этом объекте
(public функция-элемент) [править]
преобразуется в std::chrono::time_point
(public функция-элемент) [править]
проверяет, представляет ли year_month_day допустимую дату
(public функция-элемент) [править]

Функции, не являющиеся элементами

сравнивает два значения year_month_day
(функция) [править]
добавляет или вычитает year_month_day и некоторое количество лет или месяцев
(функция) [править]
выводит year_month_day в поток
(шаблон функции) [править]
разбирает 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 << "Текущий год: " << static_cast<int>(ymd.year())
              << ", месяц: " << static_cast<unsigned>(ymd.month())
              << ", день: " << static_cast<unsigned>(ymd.day()) << '\n'
              << "ymd: " << ymd << '\n';
}

Возможный вывод:

Текущий год: 2023, месяц: 9, день: 4
ymd: 2023-09-04