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_month
Eigenschaft 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