Třída year_month
Představuje měsíc a rok. Den není zadaný.
Syntaxe
class year_month; // C++20
Členové
Název | Popis |
---|---|
Konstruktory | Vytvoření year_month |
year |
Vrátí rok. |
month |
Vrátí měsíc. |
ok |
Ověřte, že year jsou hodnoty month v platném rozsahu. |
operator+= |
Přidejte zadaný počet měsíců nebo roků. |
operator-= |
Odečtěte zadaný počet měsíců nebo roků. |
Nečlenové
Název | Popis |
---|---|
from_stream |
Parsování year_month datového proudu pomocí zadaného formátu |
operator+ |
Přidejte měsíce nebo roky. |
operator- |
Odečítá měsíce a/nebo roky. |
operator== |
Určete, zda jsou dvě year_month hodnoty stejné. |
operator<=> |
Porovnejte dvě year_month hodnoty. Operátory >, >=, <=, <, != jsou syntetizovány kompilátorem. |
operator<< |
year_month 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ření .year_month
1) year_month() = default;
2) constexpr year_month(const year& y, const month& m) noexcept;
Parametry
y
Hodnota year
.
m
Hodnota month
.
Poznámky
1) Výchozí konstruktor neicializuje year
hodnotu ani month
hodnotu.
2) Vytvořte s year_month
určenými hodnotami.
Informace o syntaxi jazyka C++20 pro zadání kalendářních dat najdete v tématu operator/
Příklad: Vytvoření year_month
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month ym{2021y / June};
std::cout << ym;
return 0;
}
2021/Jun
month
Získejte měsíc.
constexpr month month() const noexcept;
Vrácená hodnota
Hodnota month
.
year
Získejte rok.
constexpr year year() const noexcept;
Vrácená hodnota
year
.
ok
Zkontrolujte, jestli je v platném rozsahu uložená year_month
hodnota roku i měsíce.
constexpr bool ok() const noexcept;
Vrácená hodnota
true
year_month
pokud jsou hodnoty roku a měsíce v platném rozsahu. V opačném případě hodnota false
.
operator+=
Přidejte k tomu year_month
měsíce nebo roky .
1) constexpr year_month& operator+=(const months& dm) noexcept;
2) constexpr year_month& operator+=(const years& dy) noexcept;
Parametry
dm
Počet měsíců, které se mají sčítat.
dy
Počet roků, které se mají přičíst.
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 ym{2021y / June};
std::cout << ym << '\n';
ym += months{2};
ym += years{1};
std::cout << ym;
return 0;
}
2021/Jun
2022/Aug
operator-=
Odečítá měsíce nebo roky od tohoto year_month
.
1) constexpr year_month& operator-=(const months& dm) noexcept;
2) constexpr year_month& operator-=(const years& dy) noexcept;
Parametry
dm
Počet měsíců, které se mají odečíst.
dy
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 ym{2021y / June};
std::cout << ym << '\n';
ym -= months{2};
ym -= years{1};
std::cout << ym;
return 0;
}
2021/Jun
2020/Apr
Viz také
<chrono>
year
year_month_day
year_month_day_last
year_month_weekday
year_month_weekday_last
operator/
Referenční informace k souborům hlaviček