Classe day
Representa um dia do mês. Por exemplo, o 25º dia do mês.
Sintaxe
class day; // C++20
Comentários
Um day
normalmente contém valores no intervalo [1, 31]. Ele pode conter valores não negativos fora desse intervalo, mas o comportamento não será especificado se não estiver dentro do intervalo [0, 255].
Membros
Nome | Descrição |
---|---|
Construtores | Construa um day . |
ok |
Verifique se o valor do dia está no intervalo válido [1,31]. |
operator++ |
Incremente este day . |
operator+= |
Adicione o número especificado de dias a este day . |
operator-- |
Reduzir o day . |
operator-= |
Subtrair o número especificado de dias a partir deste day |
operator unsigned |
Obtenha o valor do dia como um inteiro sem sinal. |
Não membros
Nome | Descrição |
---|---|
from_stream |
Analise um day do fluxo fornecido usando o formato especificado. |
operator+ |
Adicione um número especificado de dias a este day , retornando um novo objeto day . |
operator- |
Subtraia o número especificado de dias a partir deste day , retornando um novo objeto day . |
operator== |
Determinar se duas instâncias day são iguais. |
operator<=> |
Compare este day com outro day . Os operadores >, >=, <=, <, != são sintetizados pelo compilador. |
operator<< |
Gerar um day para o fluxo fornecido. |
operator""d |
Crie um literal day para um dia no mês. |
Requisitos
Cabeçalho: <chrono>
(desde C++20)
Namespace: std::chrono
Opção do compilador: /std:c++latest
Construtores
Constrói um day
.
1) day() = default;
2) explicit constexpr day(unsigned d) noexcept;
Parâmetros
d
Construa um day
com valor d
.
Comentários
1) O construtor padrão não inicializa o valor do dia.
2) Construa um day
com o valor do dia inicializado para d
.
Exemplo: criar um day
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
day d{1}; // day 1
day d2 = 2d; // day 2
std::cout << d << ", " << d2;
return 0;
}
01, 02
ok
Verifique se o valor armazenado neste day
está no intervalo válido.
constexpr bool ok() const noexcept;
Valor retornado
true
if se o valor do dia estiver no intervalo [1,31]. Caso contrário, false
.
operator++
Adicione 1 ao valor do dia.
1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;
Valor retornado
1) Uma referência a *this
day
depois de ter sido incrementado (um incremento pós-fixado).
2) Uma cópia do day
, antes de ter sido incrementado (um incremento de prefixo).
Exemplo: operator++
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
day d{1};
std::cout << d << " " << ++d << "\n"; // constexpr day& operator++() noexcept
std::cout << d << " " << d++ << "\n"; // constexpr day operator++(int) noexcept
std::cout << d;
return 0;
}
01 02
02 02
03
Comentários
Se o resultado incrementado estiver fora do intervalo [0, 255], o valor armazenado não será especificado.
operator--
Subtraia 1 do valor do dia.
1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;
Valor retornado
1) Uma referência ao *this
dia após a redução (uma redução pós-fixada).
2) Uma cópia do *day
, antes de ter sido reduzido (uma redução de prefixo).
Exemplo: operator--
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
int main()
{
day d{5};
std::cout << d << " " << --d << "\n"; // constexpr day& operator--() noexcept
std::cout << d << " " << d-- << "\n"; // constexpr day operator--(int) noexcept
std::cout << d << "\n";
return 0;
}
05 04
04 04
03
Comentários
Se o resultado reduzido estiver fora do intervalo [0, 255], o valor armazenado não será especificado.
operator+=
Adicione dias a este day
.
constexpr day& operator+=(const days& d) noexcept;
Parâmetros
d
O número de dias a serem adicionados.
Valor retornado
*this
Se o resultado estiver fora do intervalo [0, 255], o valor armazenado não será especificado.
operator-=
Subtraia dias a deste day
.
constexpr day& operator-=(const days& d) noexcept;
Parâmetros
d
O número de dias a subtrair.
Valor retornado
*this
. Se o resultado estiver fora do intervalo [0, 255], o valor armazenado não será especificado.
operator unsigned
Obtenha o valor day
.
explicit constexpr operator unsigned() const noexcept;
Valor retornado
O valor do day
Exemplo: operator unsigned()
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
int main()
{
chrono::day d{14d};
unsigned dayValue = static_cast<unsigned>(d);
cout << dayValue << "\n";
return 0;
}
14
Confira também
<chrono>
month_day
classe
month_day_last
classe
year_month_day
year_month_day_last
Referência de Arquivos de Cabeçalho