Namespaces
Variants

std::chrono:: year_month_day

From cppreference.net
Défini dans l'en-tête <chrono>
class year_month_day ;
(depuis C++20)

La classe year_month_day représente une année, un mois et un jour spécifiques. C'est un point temporel basé sur des champs, avec une résolution de std::chrono::days . Les opérations arithmétiques orientées std::chrono::years et std::chrono::months sont directement prises en charge. Une conversion implicite vers et depuis std::chrono::sys_days permet d'effectuer efficacement des opérations arithmétiques orientées std::chrono::days .

year_month_day est un TriviallyCopyable StandardLayoutType .

Table des matières

Fonctions membres

construit un year_month_day
(fonction membre publique)
modifie le point temporel d'un certain nombre de mois ou d'années
(fonction membre publique)
accède à l'année, au mois et au jour stockés dans cet objet
(fonction membre publique)
convertit en std::chrono::time_point
(fonction membre publique)
vérifie si le year_month_day représente une date valide
(fonction membre publique)

Fonctions non membres

compare deux valeurs year_month_day
(fonction)
ajoute ou soustrait un year_month_day et un certain nombre d'années ou de mois
(fonction)
(C++20)
écrit un year_month_day dans un flux
(fonction template)
analyse un year_month_day depuis un flux selon le format fourni
(fonction template)

Classes d'assistance

prise en charge du formatage pour year_month_day
(spécialisation de modèle de classe)
prise en charge du hachage pour std::chrono::year_month_day
(spécialisation de modèle de classe)

Exemple

#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';
}

Sortie possible :

Current Year: 2023, Month: 9, Day: 4
ymd: 2023-09-04