Partilhar via


Classe year_month

Representa um mês e ano. O dia não é especificado.

Sintaxe

class year_month; // C++20

Membros

Nome Descrição
Construtores Construir um year_month
year Retorna o ano.
month Retorna o mês.
ok Verifique se os valores year e month estão no intervalo válido.
operator+= Adicione o número especificado de meses ou anos.
operator-= Subtraia o número especificado de meses ou anos.

Não membros

Nome Descrição
from_stream Analise um year_month de um fluxo usando o formato especificado
operator+ Adicione meses e/ou anos.
operator- Subtraia meses e/ou anos.
operator== Determine se dois valores year_month são iguais.
operator<=> Compare dois valores year_month. Os operadores >, >=, <=, <, != são sintetizados pelo compilador.
operator<< Gere um year_month para um fluxo.

Requisitos

Cabeçalho: <chrono> (desde C++20)

Namespace: std::chrono

Opção do compilador: /std:c++latest

Construtores

Construa um year_month.

1) year_month() = default;
2) constexpr year_month(const year& y, const month& m) noexcept;

Parâmetros

y
O valor year.

m
O valor month.

Comentários

1) O construtor padrão não inicializa os valores year ou month.
2) Construa um year_month com os valores especificados.

Para obter informações sobre a sintaxe do C++20 para especificar datas, consulte operator/

Exemplo: criar um 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

Obtenha o mês.

constexpr month month() const noexcept;

Valor retornado

O valor month.

year

Obtenha o ano.

constexpr year year() const noexcept;

Valor retornado

O year.

ok

Verifique se os valores de mês e ano armazenados nesse year_month estão no intervalo válido.

constexpr bool ok() const noexcept;

Valor retornado

true se os valores de ano e mês year_month estiverem no intervalo válido. Caso contrário, false.

operator+=

Adicione meses ou anos a esse year_month.

1) constexpr year_month& operator+=(const months& dm) noexcept;
2) constexpr year_month& operator+=(const years& dy) noexcept;

Parâmetros

dm
O número de meses a serem adicionados.

dy
O número de anos a ser adicionado.

Valor retornado

*this, que reflete o resultado da adição.

Exemplo: 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-=

Subtraia meses ou anos desse year_month.

1) constexpr year_month& operator-=(const months& dm) noexcept;
2) constexpr year_month& operator-=(const years& dy) noexcept;

Parâmetros

dm
O número de meses para subtração.

dy
O número de anos para subtração.

Valor retornado

*this, que reflete o resultado da subtração.

Exemplo: 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

Confira também

<chrono>
year
year_month_day
year_month_day_last
year_month_weekday
year_month_weekday_last
operator/
Referência de Arquivos de Cabeçalho