Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt ein bestimmtes Jahr, einen bestimmten Monat und einen n. Wochentag des Monats dar.
Syntax
class year_month_weekday; // C++20
Bemerkungen
year_month_weekday unterstützt jahre- und monateorientierte Arithmetik, aber nicht tageorientierte Arithmetik. Verwenden Sie für tageorientierte Arithmetik die sys_days Konvertierung, um in eine sys_days, die tageorientierte Arithmetik unterstützt, zu konvertieren.
Die year_month_weekday-Klasse ist ein trivial kopierbarer Klassentyp im Standardformat.
Elemente
| Name | BESCHREIBUNG |
|---|---|
Constructor |
Erstellen Sie einen year_month_weekday mit dem angegebenen Monat und Wochentag. |
index |
Ruft den Index des Wochentags ab. |
month |
Rufen Sie den Monatswert ab. |
ok |
Überprüfen Sie, ob dies year_month_weekday gültig ist. |
operator+= |
Fügen Sie die angegebene Anzahl von Monaten oder Jahren hinzu. |
operator-= |
Subtrahieren Sie die angegebene Anzahl von Monaten oder Jahren. |
operator local_days |
Rufen Sie die Anzahl der Tage von der system_clock Epoche bis zu dieser year_month_weekday als local_days. |
operator sys_days |
Rufen Sie die Anzahl der Tage von der system_clock Epoche bis zu dieser year_month_weekday als sys_days. |
weekday |
Rufen Sie den Wochentag ab. |
weekday_indexed |
Rufen Sie die weekday_indexed gespeicherte Datei in dieser year_month_weekdayDatei ab. |
year |
Ruft das Jahr ab. |
Nicht-Member
| Name | BESCHREIBUNG |
|---|---|
operator+ |
Fügen Sie Monate oder Jahre hinzu. |
operator- |
Subtrahieren Sie Monate oder Jahre. |
operator== |
Bestimmen Sie, ob zwei year_month_weekday Werte gleich sind. |
operator<< |
Gibt einen year_month_weekday an den angegebenen Datenstrom aus. |
Anforderungen
Header:<chrono> (seit C++20)
Namespace:std::chrono
Compileroption:/std:c++latest
Konstruktor
Erstellt ein Objekt vom Typ year_month_weekday.
// 1)
year_month_weekday() = default
// 2)
constexpr year_month_weekday(const year& y, const month& m, const weekday_indexed& wdi) noexcept;
// 3)
constexpr explicit year_month_weekday(const local_days& dp) noexcept;
// 4)
constexpr year_month_weekday(const sys_days& dp) noexcept;
Die Parameter
m
Der month-Wert.
dp
A sys_days oder local_days
wdi
Der weekday-Wert.
y
Der year-Wert.
Hinweise: Konstruktor
1) Der Standardkonstruktor initialisiert keines der Felder.
2) Erstellt eine year_month_weekday , die dem angegebenen year, , monthund weekday_indexed.
3) Erstellt ein year_month_weekday , das dem durch sys_days{dp.time_since_epoch()}dargestellten Datum entspricht.
4) Erstellt ein year_month_weekday , das dem durch dpdargestellten Datum entspricht. Für alle year_month_weekday (ymdl) ok() ist true, vergleicht mit operator==year_month_weekday{sys_days{ymdl}} .true
Informationen zur C++20-Syntax, die zum Angeben von Datumsangaben verwendet wird, finden Sie unter operator/
Beispiel: Erstellen einer year_month_weekday-Klasse
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_weekday ymw{1997y / January / Wednesday[1]};
std::cout << ymw << '\n';
return 0;
}
1997/Jan/Wed[1]
index
Ruft den Wochenindex des Wochentags in diesem year_month_weekday.
constexpr unsigned index() const noexcept;
Rückgabewert
Der Index des Wochentags. Wenn beispielsweise der Wochentag der erste Mittwoch der Woche war, wäre der Index 1.
month
Rufen Sie den Monatswert ab.
constexpr month month() const noexcept;
Rückgabewert
Der month-Wert.
ok
Überprüfen Sie, ob der in dieser year_month_weekday Datei gespeicherte Wert gültig ist. Das year, monthund weekday_index das in diesem year_month_weekday Speicher gespeichert muss alle sein ok , damit diese Funktion zurückgegeben werden truekann. Andernfalls wird falsezurückgegeben.
constexpr bool ok() const noexcept;
Rückgabewert
true wenn der year_month_weekday Wert gültig ist. Andernfalls false.
A year_month_weekday ist gültig, wenn sowohl gültig month als auch der weekday_indexed Wert gültig ist.
operator+=
Fügen Sie dieser year_month_weekdayEigenschaft Monate oder Jahre hinzu.
1) constexpr year_month_weekday& operator+=(const months& m) noexcept;
2) constexpr year_month_weekday& operator+=(const years& y) noexcept;
Die Parameter
m
Die Anzahl der hinzuzufügenden Monate.
y
Die Anzahl der hinzuzufügenden Jahre.
Rückgabewert
*this die 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_weekday ymw{1997y / January / Wednesday[1]};
std::cout << ymw << '\n';
ymw += months{1};
ymw += years{1};
std::cout << ymw << '\n';
return 0;
}
1997/Jan/Wed[1]
1998/Feb/Wed[1]
operator-=
Subtrahieren Sie Monate oder Jahre von diesem year_month_weekday.
1) constexpr year_month_weekday& operator-=(const months& m) noexcept;
2) constexpr year_month_weekday& operator-=(const years& y) noexcept;
Die Parameter
m
Die Anzahl der Monate, die subtrahiert werden sollen.
y
Die Anzahl der Jahre, die subtrahiert werden sollen.
Rückgabewert
*this die das Ergebnis der Subtraktion widerspiegelt.
Beispiel: operator-=
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_weekday ymw{1997y / January / Wednesday[1]};
std::cout << ymw << '\n';
ymw -= months{1};
ymw -= years{1};
std::cout << ymw << '\n';
return 0;
}
1997/Jan/Wed[1]
1995/Dec/Wed[1]
operator local_days
Die Anzahl der Tage aus der system_clock Epoche (1/1/1970) auf diese year_month_weekday abrufen local_days
constexpr explicit operator local_days() const noexcept;
Rückgabewert
Wenn ok(), gibt eine Anzahl von Tagen als local_days{sys_days{*this}.time_since_epoch()}. Andernfalls ist der zurückgegebene Wert nicht angegeben.
operator sys_days
Rufen Sie die Anzahl der Tage aus der system_clock Epoche (1.1.1970) als year_month_daysys_days.
constexpr operator sys_days() const noexcept;
Rückgabewert
Wenn ok(), gibt ein sys_days , das das Datum darstellt, das (index() - 1) * 7 Tage nach dem ersten weekday() von year()/month(). Wenn index() dies der Wert ist 0, stellt das zurückgegebene sys_days Datum das Datum 7 Tage vor dem ersten weekday() von year()/month().
weekday
Rufen Sie den weekday gespeicherten year_month_weekdayIn diesem weekday_indexed Gespeicherten ab.
constexpr weekday weekday() const noexcept;
Rückgabewert
Der weekday-Wert.
weekday_indexed
Rufen Sie die weekday_indexed gespeicherte Datei in dieser year_month_weekdayDatei ab.
constexpr weekday_indexed weekday_indexed() const noexcept;
Rückgabewert
Der weekday_indexed-Wert.
year
Ruft den Jahreswert ab.
constexpr year year() const noexcept;
Rückgabewert
Der year-Wert.
Siehe auch
<chrono>
year
year_month
year_month_day
year_month_day_last
year_month_weekday_last
operator/
Headerdateienreferenz