Compartilhar via


Classe year_month_weekday_last

Um ano, mês e último dia útil do mês específicos.

Sintaxe

class year_month_weekday_last; // C++20

Comentários

year_month_weekday_last dá suporte à aritmética orientada a anos e meses, mas não à aritmética orientada a dias. Para a aritmética orientada a dias, use a conversão sys_days para converter em um sys_days, que dá suporte à aritmética orientada a dias.

year_month_weekday_last é um tipo de classe de layout padrão que pode ser facilmente copiada.

Membros

Nome Descrição
Constructor Construa um year_month_weekday_last com o mês e o dia da semana especificados.
month Obtenha o valor de mês.
ok Verifique se o valor year_month_weekday_last é válido.
operator+= Adicione o número especificado de meses ou anos.
operator-= Subtraia o número especificado de meses ou anos.
operator local_days Obtenha a contagem de dias da época system_clock para esse year_month_weekday_last como local_days.
operator sys_days Obtenha a contagem de dias da época system_clock para esse year_month_weekday_last como sys_days.
weekday Obtenha o valor do dia da semana.
weekday_last Obtenha o weekday_last armazenado neste year_month_weekday_last.
year Obtenha o ano.

Não membros

Nome Descrição
operator+ Adicione meses ou anos.
operator- Subtraia meses ou anos.
operator== Determine se dois valores year_month_weekday_last são iguais.
operator<< Gerar um year_month_weekday_last para o fluxo fornecido.

Requisitos

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

Namespace: std::chrono

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

Construtor

Constrói um year_month_weekday_last.

constexpr year_month_weekday_last(const year& y, const month& m, const weekday_last& wdl) noexcept

Parâmetros

m
O valor month.

wdl
O valor weekday_last.

y
O valor year.

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

Exemplo: criar um year_month_weekday_last

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month_weekday_last ymwl{ 1997y / January / Wednesday[last] };
    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]

month

Obtenha o valor de mês.

constexpr month month() const noexcept;

Valor retornado

O valor month.

ok

Verifique se o valor armazenado nesse year_month_weekday_last é válido. Os year, month e weekday_last armazenados nesse year_month_weekday_last devem ser ok para que essa função retorne true. Caso contrário, retorna false.

constexpr bool ok() const noexcept;

Valor retornado

true se o valor year_month_weekday_last for válido. Caso contrário, false.
Um year_month_weekday_last é válido se os month, weekday_indexed e year são válidos.

operator+=

Adicione meses ou anos a esse year_month_weekday_last.

1) constexpr year_month_weekday_last& operator+=(const months& m) noexcept;
2) constexpr year_month_weekday_last& operator+=(const years& y) noexcept;

Parâmetros

m
O número de meses a serem adicionados.

y
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_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
    std::cout << ymwl << '\n';

    ymwl += months{ 1 };
    ymwl += years{ 1 };

    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]
1998/Feb/Wed[last]

operator-=

Subtraia meses ou anos desse year_month_weekday_last.

1) constexpr year_month_weekday_last& operator-=(const months& m) noexcept;
2) constexpr year_month_weekday_last& operator-=(const years& y) noexcept;

Parâmetros

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

y
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_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
    std::cout << ymwl << '\n';

    ymwl -= months{ 1 };
    ymwl -= years{ 1 };

    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]
1995/Dec/Wed[last]

operator local_days

Obtenha a contagem de dias da época system_clock (01/01/1970) para esse year_month_weekday_last como local_days

constexpr explicit operator local_days() const noexcept;

Valor retornado

Se ok(), retorna uma contagem de dias como local_days{sys_days{*this}.time_since_epoch()}. Caso contrário, o valor retornado não será especificado.

operator sys_days

Obtenha a contagem de dias da época system_clock (01/01/1970) para esse year_month_day como sys_days.

constexpr operator sys_days() const noexcept;

Valor retornado

Se ok() == true, retorna um sys_days que representa o último weekday() de year() / month() (observação: o / é o operador de data, não uma divisão). Caso contrário, o valor retornado não será especificado.

weekday

Obtenha o weekday.

constexpr weekday weekday() const noexcept;

Valor retornado

O weekday.

weekday_last

Obtenha o weekday_last armazenado neste year_month_weekday_last.

constexpr weekday_indexed weekday_last() const noexcept;

Valor retornado

O weekday_last.

year

Obtenha o valor de ano.

constexpr year year() const noexcept;

Valor retornado

O valor year.

Confira também

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