Namensräume
Varianten
Aktionen

std::chrono::year_month_day

Von cppreference.com
< cpp‎ | chrono
 
 
 
 
Definiert in Header <chrono>
class year_month_day;
(seit C++20)

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

year_month_day ist ein TriviallyCopyable StandardLayoutType.

Inhalt

[bearbeiten] Memberfunktionen

konstruiert ein year_month_day
(öffentliche Memberfunktion) [bearbeiten]
modifiziert den Zeitpunkt um eine bestimmte Anzahl von Monaten oder Jahren
(öffentliche Memberfunktion) [bearbeiten]
greift auf das Jahr, den Monat und den Tag zu, die in diesem Objekt gespeichert sind
(öffentliche Memberfunktion) [bearbeiten]
konvertiert zu einem std::chrono::time_point
(öffentliche Memberfunktion) [bearbeiten]
prüft, ob das year_month_day ein gültiges Datum darstellt
(öffentliche Memberfunktion) [bearbeiten]

[bearbeiten] Nicht-Memberfunktionen

vergleicht zwei year_month_day-Werte
(Funktion) [bearbeiten]
addiert oder subtrahiert einen year_month_day und eine Anzahl von Jahren oder Monaten
(Funktion) [bearbeiten]
gibt einen year_month_day in einen Stream aus
(Funktionstemplate) [bearbeiten]
parst ein year_month_day aus einem Stream gemäß dem angegebenen Format
(Funktionstemplate) [bearbeiten]

[bearbeiten] Hilfsklassen

Formatierungsunterstützung für year_month_day
(Klassentemplate-Spezialisierung) [edit]
Hash-Unterstützung für std::chrono::year_month_day
(Klassentemplate-Spezialisierung)

[bearbeiten] 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 << "Current Year: " << static_cast<int>(ymd.year()) << ", "
                 "Month: " << static_cast<unsigned>(ymd.month()) << ", "
                 "Day: " << static_cast<unsigned>(ymd.day()) << "\n"
                 "ymd: " << ymd << '\n';
}

Mögliche Ausgabe

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