Partilhar via


day classe

Representa um dia do mês. Por exemplo, o dia 25 do mês.

Sintaxe

class day; // C++20

Observações

A day normalmente mantém valores no intervalo [1, 31]. Ele pode conter valores não negativos fora desse intervalo, mas o comportamento não é especificado se não estiver dentro do intervalo [0, 255].

Membros

Nome Descrição
Construtores Construa um dayarquivo .
ok Verifique se o valor do dia está no intervalo válido [1,31].
operator++ Incremente este day.
operator+= Adicione o número de dias especificado a este day.
operator-- Decréscimo do day.
operator-= Subtraia o número de dias especificado day
operator unsigned Obtenha o valor do dia como um número inteiro não assinado.

Não-membros

Nome Descrição
from_stream Analise a day do fluxo fornecido usando o formato especificado.
operator+ Adicione o número especificado de dias a isso day, retornando um novo day objeto.
operator- Subtraia o número especificado de dias deste day, retornando um novo day objeto.
operator== Determine se duas instâncias day são iguais.
operator<=> Compare isto day com outro day. Os >, >=, <=, <, != operadores são sintetizados pelo compilador.
operator<< Saída a day para o fluxo dado.
operator""d Crie um day literal para um dia no mês.

Requerimentos

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

Espaço de nomes: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.

Observações

1) O construtor padrão não inicializa o valor day.
2) Construa um day com o valor do dia inicializado em 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 de retorno

true 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 de retorno

1) Uma referência a *this de ter sido incrementado (um incremento day de postfixo).
2) Uma cópia do , day 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

Observações

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 de retorno

1) Uma referência ao dia *this ao seu decréscimo (um decréscimo pós-fixo).
2) Uma cópia do , *day de ter sido decremented (um prefixo decrement).

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

Observações

Se o resultado diminuído estiver fora do intervalo [0, 255], o valor armazenado não será especificado.

operator+=

Adicione dias a isto day.

constexpr day& operator+=(const days& d) noexcept;

Parâmetros

d
O número de dias a adicionar.

Valor de retorno

*this

Se o resultado estiver fora do intervalo [0, 255], o valor armazenado não será especificado.

operator-=

Subtraia dias disso day.

constexpr day& operator-=(const days& d) noexcept;

Parâmetros

d
O número de dias para subtrair.

Valor de retorno

*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 de retorno

O valor da seringa 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

Ver também

<chrono>
Classe month_day
Classe month_day_last
year_month_day
year_month_day_last
de referência de arquivos de cabeçalho