Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Classe
Representa um ano, um mês e um dia da semana específicos do mês.
Sintaxe
class year_month_weekday; // C++20
Observações
year_month_weekday dá suporte à aritmética orientada a anos e meses, mas não à aritmética orientada a dias. Para aritmética orientada a dias, use a sys_days conversão para converter em um sys_days, que dá suporte à aritmética orientada a dias.
year_month_weekday é um tipo de classe de layout padrão que pode ser facilmente copiada.
Membros
| Nome | Descrição |
|---|---|
Constructor |
Construa um year_month_weekday com o mês e o dia da semana especificados. |
index |
Obtenha o índice do dia da semana. |
month |
Obtenha o valor de mês. |
ok |
Verifique se o valor year_month_weekday é 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 system_clock época para isso year_month_weekday como local_days. |
operator sys_days |
Obtenha a contagem de dias da system_clock época para isso year_month_weekday como sys_days. |
weekday |
Pegue o dia da semana. |
weekday_indexed |
Obtenha o weekday_indexed armazenado neste year_month_weekday. |
year |
Pegue o ano. |
Não membros
| Nome | Descrição |
|---|---|
operator+ |
Adicione meses ou anos. |
operator- |
Subtrair meses ou anos. |
operator== |
Determine se dois year_month_weekday valores são iguais. |
operator<< |
Gerar um year_month_weekday 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.
// 1)
year_month_weekday() = default
// 2)
constexpr year_month_weekday(const year& y, const month& m, const weekday_indexed& wdi) noexcept;
// 3)
constexpr explicit year_month_weekday(const local_days& dp) noexcept;
// 4)
constexpr year_month_weekday(const sys_days& dp) noexcept;
Parâmetros
m
O valor month.
dp
A sys_days ou local_days
wdi
O valor weekday.
y
O valor year.
Comentários: construtor
1) O construtor padrão não inicializa nenhum dos campos.
2) Constrói um year_month_weekday que corresponde ao especificado year, monthe weekday_indexed.
3) Constrói um year_month_weekday que corresponde à data representada por sys_days{dp.time_since_epoch()}.
4) Constrói um year_month_weekday que corresponde à data representada por dp. Para qualquer year_month_weekday (ymdl) para o qual ok() é true, a year_month_weekday{sys_days{ymdl}} comparação com operator== será true.
Para obter informações sobre a sintaxe C++20 usada para especificar datas, consulte operator/
Exemplo: criar um year_month_weekday
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month_weekday ymw{1997y / January / Wednesday[1]};
std::cout << ymw << '\n';
return 0;
}
1997/Jan/Wed[1]
index
Obtenha o índice de semana do dia da semana neste year_month_weekday.
constexpr unsigned index() const noexcept;
Valor de retorno
O índice do dia da semana. Por exemplo, se o dia da semana fosse a primeira quarta-feira da semana, o índice seria 1.
month
Obtenha o valor de mês.
constexpr month month() const noexcept;
Valor de retorno
O valor month.
ok
Verifique se o valor armazenado nisso year_month_weekday é válido. O year, monthe weekday_index armazenado nisso year_month_weekday deve ser ok tudo para que essa função retorne true. Caso contrário, retorna false.
constexpr bool ok() const noexcept;
Valor de retorno
true se o year_month_weekday valor for válido. Caso contrário, false.
Um year_month_weekday será válido se ambos forem month válidos e o weekday_indexed valor for válido.
operator+=
Adicione meses ou anos a isso year_month_weekday.
1) constexpr year_month_weekday& operator+=(const months& m) noexcept;
2) constexpr year_month_weekday& operator+=(const years& y) noexcept;
Parâmetros
m
O número de meses a serem adicionados.
y
O número de anos a serem adicionados.
Valor de retorno
*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 ymw{1997y / January / Wednesday[1]};
std::cout << ymw << '\n';
ymw += months{1};
ymw += years{1};
std::cout << ymw << '\n';
return 0;
}
1997/Jan/Wed[1]
1998/Feb/Wed[1]
operator-=
Subtrair meses ou anos a partir disso year_month_weekday.
1) constexpr year_month_weekday& operator-=(const months& m) noexcept;
2) constexpr year_month_weekday& operator-=(const years& y) noexcept;
Parâmetros
m
O número de meses a serem subtraídos.
y
O número de anos a serem subtraídos.
Valor de retorno
*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 ymw{1997y / January / Wednesday[1]};
std::cout << ymw << '\n';
ymw -= months{1};
ymw -= years{1};
std::cout << ymw << '\n';
return 0;
}
1997/Jan/Wed[1]
1995/Dec/Wed[1]
operator local_days
Obter a contagem de dias da system_clock época (1/1/1970) para isso year_month_weekday como local_days
constexpr explicit operator local_days() const noexcept;
Valor de retorno
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 system_clock época (1/1/1970) para isso year_month_day como sys_days.
constexpr operator sys_days() const noexcept;
Valor de retorno
If ok(), retorna um sys_days que representa a data que é (index() - 1) * 7 dias após o primeiro weekday() de year()/month(). Se index() for 0, o retornado sys_days representa a data 7 dias antes do primeiro weekday() de year()/month().
weekday
Obtenha o weekday armazenado no weekday_indexed armazenado neste year_month_weekday.
constexpr weekday weekday() const noexcept;
Valor de retorno
O valor weekday.
weekday_indexed
Obtenha o weekday_indexed armazenado neste year_month_weekday.
constexpr weekday_indexed weekday_indexed() const noexcept;
Valor de retorno
O valor weekday_indexed.
year
Obtenha o valor do ano.
constexpr year year() const noexcept;
Valor de retorno
O valor year.
Consulte também
<chrono>
year
year_month
year_month_day
year_month_day_last
year_month_weekday_last
operator/
Referência de Arquivos de Cabeçalho