Namespaces
Variants

std::chrono:: year_month_day

From cppreference.net
Definiert im Header <chrono>
class year_month_day ;
(seit C++20)

Die Klasse year_month_day repräsentiert ein bestimmtes Jahr, Monat und Tag. Es handelt sich um einen feldbasierten Zeitpunkt mit einer Auflösung von std::chrono::days . std::chrono::years - und std::chrono::months -orientierte Arithmetik wird direkt unterstützt. Eine implizite Konvertierung zu und von std::chrono::sys_days ermöglicht eine effiziente Durchführung von std::chrono::days -orientierter Arithmetik.

year_month_day ist ein TriviallyCopyable StandardLayoutType .

Inhaltsverzeichnis

Memberfunktionen

konstruiert ein year_month_day
(öffentliche Elementfunktion)
modifiziert den Zeitpunkt um eine Anzahl von Monaten oder Jahren
(öffentliche Elementfunktion)
greift auf das in diesem Objekt gespeicherte Jahr, den Monat und den Tag zu
(öffentliche Elementfunktion)
konvertiert zu einem std::chrono::time_point
(öffentliche Elementfunktion)
prüft, ob das year_month_day ein gültiges Datum repräsentiert
(öffentliche Elementfunktion)

Nicht-Member-Funktionen

vergleicht zwei year_month_day -Werte
(Funktion)
addiert oder subtrahiert einen year_month_day und eine Anzahl von Jahren oder Monaten
(Funktion)
(C++20)
gibt einen year_month_day in einen Stream aus
(Funktions-Template)
parst einen year_month_day aus einem Stream gemäß dem bereitgestellten Format
(Funktions-Template)

Hilfsklassen

Formatierungsunterstützung für year_month_day
(Klassen-Template-Spezialisierung)
Hash-Unterstützung für std::chrono::year_month_day
(Klassen-Template-Spezialisierung)

Beispiel

#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 << "Aktuelles Jahr: " << static_cast<int>(ymd.year()) << ", "
                 "Monat: " << static_cast<unsigned>(ymd.month()) << ", "
                 "Tag: " << static_cast<unsigned>(ymd.day()) << "\n"
                 "ymd: " << ymd << '\n';
}

Mögliche Ausgabe:

Aktuelles Jahr: 2023, Monat: 9, Tag: 4
ymd: 2023-09-04