Classe year_month_day_last
Rappresenta l'ultimo giorno di un anno e un mese specifici.
year_month_day_last
supporta l'aritmetica mensile e gli anni aritmetici, ma non i giorni aritmetici. Per eseguire operazioni aritmetiche orientate ai giorni, convertire l'oggetto year_month_day_last
in un oggetto sys_days
.
Sintassi
class year_month_day_last; // C++20
Membri
Nome | Descrizione |
---|---|
Costruttori | Costruire un oggetto year_month_day_last |
day |
Ottiene l'ultimo giorno del mese/anno. |
month |
Ottenere il mese. |
month_day_last |
Ottenere il valore month_day_last archiviato in questo year_month_day_last oggetto . |
ok |
Verificare che i year valori e month siano inclusi nell'intervallo valido. |
operator+= |
Aggiungere mesi o anni a questo year_month_day_last oggetto . |
operator-= |
Sottrae mesi o anni da questo year_month_day_last oggetto . |
operator local_days |
Ottenere il numero di giorni dal sys_days periodo a questo year_month_day_last come local_days . |
operator sys_days |
Ottenere il numero di giorni dal sys_days periodo a questo year_month_day_last come sys_days . |
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_day_last valori sono uguali. |
operator<=> |
Confrontare due year_month_day_last valori. Gli >, >=, <=, <, != operatori vengono sintetizzati dal compilatore. |
operator<< |
Restituire un oggetto year_month_day_last a un flusso. |
Requisiti
Intestazione: <chrono>
(da C++20)
Spazio dei nomi: std::chrono
Opzione del compilatore: /std:c++latest
Costruttori
Costruire un oggetto year_month_day_last
per un mese e un anno specificati.
constexpr year_month_day_last(const year& y, const month_day_last& mdl) noexcept;
Parametri
mdl
Il valore del mese da month_day_last
viene archiviato nell'oggetto costruito year_month_day_last
.
y
Il year
valore viene archiviato nell'oggetto costruito year_month_day_last
.
Osservazioni:
Per informazioni sulla sintassi C++20 usata per specificare le date, vedere operator/
Esempio: Creare un oggetto year_month_day_last
// 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
Se ok()
è true
, restituisce un giorno che rappresenta l'ultimo giorno dell'anno, il mese rappresentato da questo year_month_day_last
oggetto .
constexpr day day() const noexcept;
Valore restituito
Se ok()
è true
, restituisce un oggetto day
che rappresenta l'ultimo giorno dell'anno e del mese rappresentato da *this
. In caso contrario, il valore restituito non è specificato.
local_days
Ottiene il mese, il giorno e l'anno in questo year_month_day_last
come conteggio dei giorni.
constexpr explicit operator local_days() const noexcept;
Valore restituito
local_days{sys_days{*this}.time_since_epoch()}
Esempio
// 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
Ottenere il valore del mese archiviato.
constexpr month month() const noexcept;
Valore restituito
Valore month
.
month_day_last
Ottiene il month_day_last
valore archiviato in questo year_month_day_last
oggetto .
constexpr month_day_last month_day_last() const noexcept;
Valore restituito
Valore month_day_last
archiviato in questo year_month_day_last
oggetto .
operator sys_days
Ottiene il mese, il giorno e l'anno in questo year_month_day_last
come conteggio di giorni dall'epoca per l'orologio di sistema.
constexpr explicit operator sys_days() const noexcept;
Valore restituito
Restituisce sys_days{this->year()/this->month()/this->day()}
.
Esempio
// 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
Prendi l'anno.
constexpr year year() const noexcept;
Valore restituito
Il year
.
ok
Controllare se il year
valore e month_day_last
archiviato in questo year_month_day_last
intervallo sono entrambi inclusi nell'intervallo valido.
constexpr bool ok() const noexcept;
Valore restituito
true
se il year
valore e month_day_last
archiviato in questo year_month_day_last
sono entrambi nell'intervallo valido. In caso contrario, false
.
operator+=
Aggiungere mesi o anni a questo year_month_day_last
oggetto .
1) constexpr year_month_day_last& operator+=(const months& m) noexcept;
2) constexpr year_month_day_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_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-=
Sottrae mesi o anni da questo year_month_day_last
oggetto .
1) constexpr year_month_day_last& operator-=(const months& m) noexcept;
2) constexpr year_month_day_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_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
Vedi anche
<chrono>
year
year_month
year_month_day
year_month_weekday
year_month_weekday_last
operator/
Riferimento file di intestazione