Sdílet prostřednictvím


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

trueyear_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_monthmě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