Classe year_month_weekday_last

Anno, mese e ultimo giorno feriale del mese specifico.

Sintassi

class year_month_weekday_last; // C++20

Osservazioni:

year_month_weekday_last supporta aritmetica orientata a anni e mesi, ma non aritmetica orientata ai giorni. Per l'aritmetica orientata ai giorni, usare la conversione per eseguire la sys_days conversione in , sys_daysche supporta l'aritmetica orientata ai giorni.

year_month_weekday_last è un tipo di classe di layout semplice e copiabile standard.

Membri

Nome Descrizione
Constructor Costruire un year_month_weekday_last oggetto con il mese e il giorno della settimana specificati.
month Ottenere il valore del mese.
ok Controllare se è year_month_weekday_last valido.
operator+= Aggiungere il numero specificato di mesi o anni.
operator-= Sottrarre il numero specificato di mesi o anni.
operator local_days Ottenere il numero di giorni dal system_clock periodo a questo year_month_weekday_last come local_days.
operator sys_days Ottenere il numero di giorni dal system_clock periodo a questo year_month_weekday_last come sys_days.
weekday Prendi il giorno feriale.
weekday_last Ottenere l'oggetto weekday_last archiviato in questo year_month_weekday_lastoggetto .
year Prendi l'anno.

Membri non membri

Nome Descrizione
operator+ Aggiungere mesi o anni.
operator- Sottrae mesi o anni.
operator== Determinare se due year_month_weekday_last valori sono uguali.
operator<< Restituisce un oggetto year_month_weekday_last nel flusso specificato.

Requisiti

Intestazione: <chrono> (da C++20)

Spazio dei nomi: std::chrono

Opzione del compilatore: /std:c++latest

Costruttore

Costruisce un oggetto year_month_weekday_last.

constexpr year_month_weekday_last(const year& y, const month& m, const weekday_last& wdl) noexcept

Parametri

m
Valore month.

wdl
Valore weekday_last.

y
Valore year.

Per informazioni sulla sintassi C++20 usata per specificare le date, vedere operator/

Esempio: Creare un oggetto year_month_weekday_last

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month_weekday_last ymwl{ 1997y / January / Wednesday[last] };
    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]

month

Ottenere il valore del mese.

constexpr month month() const noexcept;

Valore restituito

Valore month.

ok

Controllare se il valore archiviato in questo year_month_weekday_last oggetto è valido. L'oggetto , e archiviato in questo year_month_weekday_last deve essere ok per questa funzione per restituire true.weekday_last monthyear In caso contrario, restituisce false.

constexpr bool ok() const noexcept;

Valore restituito

true se il year_month_weekday_last valore è valido. In caso contrario, false.
È year_month_weekday_last valido se , monthweekday_indexede year sono tutti validi.

operator+=

Aggiungere mesi o anni a questo year_month_weekday_lastoggetto .

1) constexpr year_month_weekday_last& operator+=(const months& m) noexcept;
2) constexpr year_month_weekday_last& operator+=(const years& y) noexcept;

Parametri

m
Numero di mesi da aggiungere.

y
Numero di anni da aggiungere.

Valore restituito

*this che riflette il risultato dell'addizione.

Esempio: operator+=

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
    std::cout << ymwl << '\n';

    ymwl += months{ 1 };
    ymwl += years{ 1 };

    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]
1998/Feb/Wed[last]

operator-=

Sottrae mesi o anni da questo year_month_weekday_lastoggetto .

1) constexpr year_month_weekday_last& operator-=(const months& m) noexcept;
2) constexpr year_month_weekday_last& operator-=(const years& y) noexcept;

Parametri

m
Numero di mesi da sottrarre.

y
Numero di anni da sottrarre.

Valore restituito

*this che riflette il risultato della sottrazione.

Esempio: operator-=

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
    std::cout << ymwl << '\n';

    ymwl -= months{ 1 };
    ymwl -= years{ 1 };

    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]
1995/Dec/Wed[last]

operator local_days

Ottenere il numero di giorni dal system_clock periodo (1/1/1970) a questo year_month_weekday_last come local_days

constexpr explicit operator local_days() const noexcept;

Valore restituito

Se ok(), restituisce un conteggio di giorni come local_days{sys_days{*this}.time_since_epoch()}. In caso contrario, il valore restituito non è specificato.

operator sys_days

Ottenere il numero di giorni dal system_clock periodo (1/1/1970) a questo year_month_day come sys_days.

constexpr operator sys_days() const noexcept;

Valore restituito

Se ok() == true, restituisce un sys_days oggetto che rappresenta l'ultimo weekday() di year() / month() (nota: / è l'operatore date, non una divisione). In caso contrario, il valore restituito non è specificato.

weekday

Ottenere l'oggetto weekday.

constexpr weekday weekday() const noexcept;

Valore restituito

Il weekday.

weekday_last

Ottenere l'oggetto weekday_last archiviato in questo year_month_weekday_lastoggetto .

constexpr weekday_indexed weekday_last() const noexcept;

Valore restituito

Il weekday_last.

year

Ottiene il valore dell'anno.

constexpr year year() const noexcept;

Valore restituito

Valore year.

Vedi anche

<chrono>
year
year_month
year_month_day
year_month_day_last
year_month_weekday
operator/
Riferimento file di intestazione