Freigeben über


year_month-Klasse

Stellt einen Monat und ein Jahr dar. Der Tag ist nicht angegeben.

Syntax

class year_month; // C++20

Member

Name Beschreibung
Konstruktoren Erstellen eines year_month
year Gibt das Jahr zurück.
month Gibt den Monat zurück.
ok Überprüfen Sie, ob sich die year Werte month im gültigen Bereich befinden.
operator+= Fügen Sie die angegebene Anzahl von Monaten oder Jahren hinzu.
operator-= Subtrahieren Sie die angegebene Anzahl von Monaten oder Jahren.

Nicht-Member

Name Beschreibung
from_stream Analysieren eines year_month Datenstroms mithilfe des angegebenen Formats
operator+ Fügen Sie Monate und/oder Jahre hinzu.
operator- Subtrahieren Sie Monate und/oder Jahre.
operator== Bestimmen Sie, ob zwei year_month Werte gleich sind.
operator<=> Vergleichen Sie zwei year_month Werte. Die >, >=, <=, <, != Operatoren werden vom Compiler synthetisiert.
operator<< Ausgabe eines year_month Datenstroms.

Anforderungen

Header: <chrono> (seit C++20)

Namespace:std::chrono

Compileroption: /std:c++latest

Konstruktoren

Erstellen Sie ein year_month.

1) year_month() = default;
2) constexpr year_month(const year& y, const month& m) noexcept;

Parameter

y
Der year-Wert.

m
Der month-Wert.

Hinweise

1) Der Standardkonstruktor initialisiert weder den Wert month noch den year Wert.
2) Erstellen sie mit year_month den angegebenen Werten.

Informationen zur C++20-Syntax zum Angeben von Datumsangaben finden Sie unter operator/

Beispiel: Erstellen einer year_month-Klasse

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month ym{2021y / June};

    std::cout << ym;
    return 0;
}
2021/Jun

month

Rufen Sie den Monat ab.

constexpr month month() const noexcept;

Rückgabewert

Der month-Wert.

year

Ruft das Jahr ab.

constexpr year year() const noexcept;

Rückgabewert

Die year.

ok

Überprüfen Sie, ob sich der darin year_month gespeicherte Wert für Jahr und Monat sowohl im gültigen Bereich befindet.

constexpr bool ok() const noexcept;

Rückgabewert

true wenn sich die year_month Werte für Jahr und Monat im gültigen Bereich befinden. Andernfalls false.

operator+=

Fügen Sie dieser year_monthEigenschaft Monate oder Jahre hinzu.

1) constexpr year_month& operator+=(const months& dm) noexcept;
2) constexpr year_month& operator+=(const years& dy) noexcept;

Parameter

dm
Die Anzahl der hinzuzufügenden Monate.

dy
Die Anzahl der hinzuzufügenden Jahre.

Rückgabewert

*this, das das Ergebnis der Hinzufügung widerspiegelt.

Beispiel: operator +=

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month ym{2021y / June};

    std::cout << ym << '\n';

    ym += months{2};
    ym += years{1};

    std::cout << ym;
    
    return 0;
}
2021/Jun
2022/Aug

operator-=

Subtrahieren Sie Monate oder Jahre von diesem year_month.

1) constexpr year_month& operator-=(const months& dm) noexcept;
2) constexpr year_month& operator-=(const years& dy) noexcept;

Parameter

dm
Die Anzahl der Monate, die subtrahiert werden sollen.

dy
Die Anzahl der Jahre, die subtrahiert werden sollen.

Rückgabewert

*this, das das Ergebnis der Subtraktion widerspiegelt.

Beispiel: operator -=

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month ym{2021y / June};

    std::cout << ym << '\n';

    ym -= months{2};
    ym -= years{1};

    std::cout << ym;
    
    return 0;
}
2021/Jun
2020/Apr

Siehe auch

<chrono>
year
year_month_day
year_month_day_last
year_month_weekday
year_month_weekday_last
operator/
Headerdateienreferenz