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_lastgespeicherten 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_lastEigenschaft 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_lastGespeichert.

y
Der year Wert wird im konstruierten year_month_day_lastGespeichert.

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() trueeinen Tag zurück, der den letzten Tag des Jahres darstellt, den Monat, der durch diesen year_month_day_lastdargestellt wird.

constexpr day day() const noexcept;

Rückgabewert

Ist ok() dies trueder 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_lastWert ab.

constexpr month_day_last month_day_last() const noexcept;

Rückgabewert

Der month_day_last in diesem year_month_day_lastWert 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

truewenn 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_lastEigenschaft 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