std::chrono:: year_month_day_last
|
Definiert im Header
<chrono>
|
||
|
class
year_month_day_last
;
|
(seit C++20) | |
Die Klasse
year_month_day_last
repräsentiert den letzten Tag eines bestimmten Jahres und Monats. Es handelt sich um einen feldbasierten Zeitpunkt mit einer Auflösung von
std::chrono::days
, mit der Einschränkung, dass nur der letzte Tag eines Monats dargestellt werden kann.
std::chrono::years - und std::chrono::months -orientierte Arithmetik werden direkt unterstützt. Eine implizite Konvertierung zu std::chrono::sys_days ermöglicht eine effiziente Ausführung von std::chrono::days -orientierter Arithmetik.
year_month_day_last
ist ein
TriviallyCopyable
StandardLayoutType
.
Inhaltsverzeichnis |
Memberfunktionen
konstruiert ein
year_month_day_last
-Objekt
(öffentliche Elementfunktion) |
|
|
modifiziert den Zeitpunkt um eine Anzahl von Monaten oder Jahren
(öffentliche Elementfunktion) |
|
|
greift auf die Felder dieses Objekts zu
(öffentliche Elementfunktion) |
|
|
konvertiert zu einem
std::chrono::time_point
(öffentliche Elementfunktion) |
|
|
prüft, ob dieses Objekt ein gültiges Datum repräsentiert
(öffentliche Elementfunktion) |
Nicht-Member-Funktionen
|
(C++20)
|
vergleicht zwei
year_month_day_last
Werte
(Funktion) |
|
(C++20)
|
addiert oder subtrahiert einen
year_month_day_last
und eine Anzahl von Jahren oder Monaten
(Funktion) |
|
(C++20)
|
gibt einen
year_month_day_last
in einen Stream aus
(Funktions-Template) |
Hilfsklassen
Formatierungsunterstützung für
year_month_day_last
(Klassen-Template-Spezialisierung) |
|
|
Hash-Unterstützung für
std::chrono::year_month_day_last
(Klassen-Template-Spezialisierung) |
Beispiel
#include <chrono> #include <iostream> int main() { const auto ymd = std::chrono::year_month_day { std::chrono::floor<std::chrono::days>(std::chrono::system_clock::now()) }; const std::chrono::year_month_day_last ymdl { ymd.year(), ymd.month() / std::chrono::last }; std::cout << "The last day of present month (" << ymdl << ") is: " << std::chrono::year_month_day{ymdl}.day() << '\n'; // The 'last' object can be placed wherever it is legal to place a 'day': using namespace std::chrono; constexpr std::chrono::year_month_day_last ymdl1 = 2023y / February / last, ymdl2 = last / February / 2023y, ymdl3 = February / last / 2023y; static_assert(ymdl1 == ymdl2 && ymdl2 == ymdl3); }
Mögliche Ausgabe:
The last day of present month (2023/Aug/last) is: 31
Siehe auch
|
(C++20)
|
repräsentiert ein bestimmtes
year
,
month
und
day
(Klasse) |