Třída year_month_day_last
Představuje poslední den konkrétního roku a měsíce.
year_month_day_last
podporuje aritmetické aritmetické měsíce a roky aritmetické, ale nikoli aritmetické dny. Chcete-li provést aritmetické dny orientované na dny, převeďte na year_month_day_last
.sys_days
Syntaxe
class year_month_day_last; // C++20
Členové
Název | Popis |
---|---|
Konstruktory | Vytvoření year_month_day_last |
day |
Získejte poslední den v měsíci/roce. |
month |
Získejte měsíc. |
month_day_last |
Získejte hodnotu month_day_last uloženou v tomto year_month_day_last souboru . |
ok |
Ověřte, že year jsou hodnoty month v platném rozsahu. |
operator+= |
Přidejte k tomu year_month_day_last měsíce nebo roky . |
operator-= |
Odečítá měsíce nebo roky od tohoto year_month_day_last . |
operator local_days |
Získejte počet dní od epochy sys_days do této year_month_day_last doby jako local_days . |
operator sys_days |
Získejte počet dní od epochy sys_days do této year_month_day_last doby jako sys_days . |
year |
Získejte rok. |
Nečlenové
Název | Popis |
---|---|
operator+ |
Přidejte měsíce nebo roky. |
operator- |
Odečítá měsíce nebo roky. |
operator== |
Určete, zda jsou dvě year_month_day_last hodnoty stejné. |
operator<=> |
Porovnejte dvě year_month_day_last hodnoty. Operátory >, >=, <=, <, != jsou syntetizovány kompilátorem. |
operator<< |
year_month_day_last Výstup streamu |
Požadavky
Hlavička: <chrono>
(od C++20)
Obor názvů: std::chrono
Možnost kompilátoru: /std:c++latest
Konstruktory
Vytvořte pro year_month_day_last
zadaný měsíc a rok.
constexpr year_month_day_last(const year& y, const month_day_last& mdl) noexcept;
Parametry
mdl
Hodnota měsíce z objektu month_day_last
je uložena ve vytvořeném year_month_day_last
objektu .
y
Hodnota year
je uložena v vytvořeném year_month_day_last
objektu .
Poznámky
Informace o syntaxi jazyka C++20 použité k určení kalendářních dat najdete v tématu operator/
Příklad: Vytvoření 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
Pokud ok()
je true
, vrátí den představující poslední den v roce, měsíc reprezentovaný tímto year_month_day_last
.
constexpr day day() const noexcept;
Vrácená hodnota
Pokud ok()
je true
, vrátí hodnotu day
představující poslední den v roce a měsíc reprezentovaný *this
. V opačném případě není zadaná návratová hodnota.
local_days
Získejte v tomto year_month_day_last
měsíci, dni a roce počet dní.
constexpr explicit operator local_days() const noexcept;
Vrácená hodnota
local_days{sys_days{*this}.time_since_epoch()}
Příklad
// 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
Získá uloženou hodnotu měsíce.
constexpr month month() const noexcept;
Vrácená hodnota
Hodnota month
.
month_day_last
Získá hodnotu uloženou month_day_last
v tomto year_month_day_last
.
constexpr month_day_last month_day_last() const noexcept;
Vrácená hodnota
Hodnota uložená month_day_last
v tomto year_month_day_last
souboru .
operator sys_days
Získejte měsíc, den a rok v tomto year_month_day_last
formátu jako počet dnů od epochy systémového času.
constexpr explicit operator sys_days() const noexcept;
Vrácená hodnota
Návraty sys_days{this->year()/this->month()/this->day()}
Příklad
// 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
Získejte rok.
constexpr year year() const noexcept;
Vrácená hodnota
year
.
ok
Zkontrolujte, jestli jsou v platném rozsahu year
uložená hodnota i month_day_last
hodnota year_month_day_last
.
constexpr bool ok() const noexcept;
Vrácená hodnota
true
pokud jsou v platném year_month_day_last
rozsahu year
uložená hodnota i month_day_last
hodnota. V opačném případě hodnota false
.
operator+=
Přidejte k tomu year_month_day_last
měsíce nebo roky .
1) constexpr year_month_day_last& operator+=(const months& m) noexcept;
2) constexpr year_month_day_last& operator+=(const years& y) noexcept;
Parametry
m
Počet měsíců, které se mají sčítat.
y
Počet roků, které se mají sčítat.
Vrácená hodnota
*this
, který odráží výsledek sčítání.
Příklad: 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-=
Odečítá měsíce nebo roky od tohoto 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;
Parametry
m
Počet měsíců, které se mají odečíst.
y
Počet roků, které se mají odečíst.
Vrácená hodnota
*this
, který odráží výsledek odčítání.
Příklad: 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
Viz také
<chrono>
year
year_month
year_month_day
year_month_weekday
year_month_weekday_last
operator/
Referenční informace k souborům hlaviček