year_month_day_last
-Klasse
Stellt den letzten Tag eines bestimmten Jahres und Monats dar.
year_month_day_last
unterstützt Monatsarithmetik und Jahre arithmetisch, aber nicht Tage arithmetisch. Um tageorientierte Arithmetik durchzuführen, konvertieren Sie die year_month_day_last
In ein sys_days
.
Syntax
class year_month_day_last; // C++20
Member
Name | Beschreibung |
---|---|
Konstruktoren | Erstellen eines year_month_day_last |
day |
Rufen Sie den letzten Tag des Monats/Jahres ab. |
month |
Rufen Sie den Monat ab. |
month_day_last |
Rufen Sie den in dieser Datei year_month_day_last gespeicherten month_day_last Wert ab. |
ok |
Überprüfen Sie, ob sich die year Werte month im gültigen Bereich befinden. |
operator+= |
Fügen Sie dieser year_month_day_last Eigenschaft Monate oder Jahre hinzu. |
operator-= |
Subtrahieren Sie Monate oder Jahre von diesem year_month_day_last . |
operator local_days |
Rufen Sie die Anzahl der Tage von der sys_days Epoche bis zu dieser year_month_day_last als local_days . |
operator sys_days |
Rufen Sie die Anzahl der Tage von der sys_days Epoche bis zu dieser year_month_day_last als sys_days . |
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_day_last Werte gleich sind. |
operator<=> |
Vergleichen Sie zwei year_month_day_last Werte. Die >, >=, <=, <, != Operatoren werden vom Compiler synthetisiert. |
operator<< |
Ausgabe eines year_month_day_last Datenstroms. |
Anforderungen
Header: <chrono>
(seit C++20)
Namespace:std::chrono
Compileroption: /std:c++latest
Konstruktoren
Erstellen Sie einen year_month_day_last
für einen angegebenen Monat und ein angegebenes Jahr.
constexpr year_month_day_last(const year& y, const month_day_last& mdl) noexcept;
Parameter
mdl
Der Monatswert aus der month_day_last
Prozedur wird im konstruierten year_month_day_last
Gespeichert.
y
Der year
Wert wird im konstruierten year_month_day_last
Gespeichert.
Hinweise
Informationen zur C++20-Syntax, die zum Angeben von Datumsangaben verwendet wird, finden Sie unter operator/
Beispiel: Erstellen einer year_month_day_last
-Klasse
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_day_last ymdl{ April / last / 1975 };
std::cout << ymdl;
return 0;
}
1975/Apr/last
day
Ist dies der Fall, gibt ok()
true
einen Tag zurück, der den letzten Tag des Jahres darstellt, den Monat, der durch diesen year_month_day_last
dargestellt wird.
constexpr day day() const noexcept;
Rückgabewert
Ist ok()
dies true
der Wert , gibt einen day
Wert zurück, der den letzten Tag des Jahres und des Monats darstellt, dargestellt durch *this
. Andernfalls ist der Rückgabewert nicht angegeben.
local_days
Rufen Sie den Monat, den Tag und das Jahr in dieser year_month_day_last
Anzahl von Tagen ab.
constexpr explicit operator local_days() const noexcept;
Rückgabewert
local_days{sys_days{*this}.time_since_epoch()}
Beispiel
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_day_last ymdl{ June / last / 2021 };
auto ld = local_days(ymdl);
std::cout << ld.time_since_epoch();
return 0;
}
18808d
month
Abrufen des gespeicherten Monatswerts.
constexpr month month() const noexcept;
Rückgabewert
Der month
-Wert.
month_day_last
Ruft den month_day_last
in diesem gespeicherten year_month_day_last
Wert ab.
constexpr month_day_last month_day_last() const noexcept;
Rückgabewert
Der month_day_last
in diesem year_month_day_last
Wert gespeicherte Wert.
operator sys_days
Rufen Sie den Monat, den Tag und das Jahr als year_month_day_last
Anzahl von Tagen aus der Epoche für die Systemuhr ab.
constexpr explicit operator sys_days() const noexcept;
Rückgabewert
Gibt sys_days{this->year()/this->month()/this->day()}
zurück.
Beispiel
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_day_last ymdl{ June / last / 2021 };
auto sd = sys_days(ymdl);
std::cout << sd.time_since_epoch();
return 0;
}
18808d
year
Ruft das Jahr ab.
constexpr year year() const noexcept;
Rückgabewert
Die year
.
ok
Überprüfen Sie, ob sich der year
darin year_month_day_last
gespeicherte Wert month_day_last
sowohl im gültigen Bereich befindet.
constexpr bool ok() const noexcept;
Rückgabewert
true
wenn sich der year
in diesem year_month_day_last
Bereich gespeicherte Wert sowohl month_day_last
im gültigen Bereich befindet. Andernfalls false
.
operator+=
Fügen Sie dieser year_month_day_last
Eigenschaft Monate oder Jahre hinzu.
1) constexpr year_month_day_last& operator+=(const months& m) noexcept;
2) constexpr year_month_day_last& operator+=(const years& y) noexcept;
Parameter
m
Die Anzahl der hinzuzufügenden Monate.
y
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_day_last ymdl{ April / last / 1975 };
std::cout << ymdl << '\n';
ymdl += months{1};
ymdl += years{1};
std::cout << ymdl;
return 0;
}
1975/Apr/last
1976/May/last
operator-=
Subtrahieren Sie Monate oder Jahre von diesem year_month_day_last
.
1) constexpr year_month_day_last& operator-=(const months& m) noexcept;
2) constexpr year_month_day_last& operator-=(const years& y) noexcept;
Parameter
m
Die Anzahl der Monate, die subtrahiert werden sollen.
y
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_day_last ymdl{ April / last / 1975 };
std::cout << ymdl << '\n';
ymdl -= months{1};
ymdl -= years{1};
std::cout << ymdl;
return 0;
}
1975/Apr/last
1974/Mar/last
Siehe auch
<chrono>
year
year_month
year_month_day
year_month_weekday
year_month_weekday_last
operator/
Headerdateienreferenz