Compartir a través de


clase day

Representa un día del mes. Por ejemplo, el día 25 del mes.

Sintaxis

class day; // C++20

Observaciones

Normalmente, contiene day valores en el intervalo [1, 31]. Puede contener valores no negativos fuera de este intervalo, pero el comportamiento no se especifica si no está dentro del intervalo [0, 255].

Miembros

Nombre Descripción
Constructores Construya un dayobjeto .
ok Compruebe que el valor de día está en el intervalo válido [1,31].
operator++ Incremente este day.
operator+= Agregue el número especificado de días a este day.
operator-- Decremento de .day
operator-= Resta el número especificado de días de este day
operator unsigned Obtiene el valor de día como un entero sin signo.

No miembros

Nombre Descripción
from_stream Analice un day objeto de la secuencia especificada con el formato especificado.
operator+ Agregue el número especificado de días a este dayobjeto , devolviendo un nuevo day objeto.
operator- Resta el número especificado de días de este dayobjeto , devolviendo un nuevo day objeto.
operator== Determina si dos instancias de day son iguales.
operator<=> Compare esto day con otro day. El >, >=, <=, <, != compilador sintetiza los operadores.
operator<< Genera un objeto day en el flujo especificado.
operator""d Cree un day literal para un día en el mes.

Requisitos

Encabezado:<chrono> (desde C++20)

Espacio de nombres: std::chrono

Opción del compilador:/std:c++latest

Constructores

Construye un objeto day.

1) day() = default;
2) explicit constexpr day(unsigned d) noexcept;

Parámetros

d
Construya un day objeto con el valor d.

Observaciones

1) El constructor predeterminado no inicializa el valor de día.
2) Construya un day objeto con el valor de día inicializado en d.

Ejemplo: Creación de un objeto 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

Compruebe si el valor almacenado en esta instancia de day se encuentra en el intervalo válido.

constexpr bool ok() const noexcept;

Valor devuelto

true si el valor de día está en el intervalo [1,31]. En caso contrario, es false.

operator++

Agregue 1 al valor de día.

1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;

Valor devuelto

1) Referencia a *thisdaydespués de que se haya incrementado (un incremento postfijo).
2) Una copia de day, antes de que se haya incrementado (un incremento de prefijo).

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

Observaciones

Si el resultado incrementado está fuera del intervalo [0, 255], no se especifica el valor almacenado.

operator--

Resta 1 del valor de día.

1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;

Valor devuelto

1) Una referencia al *this día después de que se haya decrementado (un postfijo decremento).
2) Una copia de *day, antes de que se haya decrementado (un prefijo decremento).

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

Observaciones

Si el resultado decrementado está fuera del intervalo [0, 255], no se especifica el valor almacenado.

operator+=

Agregue días a este day.

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

Parámetros

d
Número de días que se van a agregar.

Valor devuelto

*this

Si el resultado está fuera del intervalo [0, 255], el valor almacenado no se especifica.

operator-=

Resta días de este day.

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

Parámetros

d
Número de días que se van a restar.

Valor devuelto

*this. Si el resultado está fuera del intervalo [0, 255], el valor almacenado no se especifica.

operator unsigned

Obtiene el valor de day.

explicit constexpr operator unsigned() const noexcept;

Valor devuelto

Valor de day

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

Consulte también

<chrono>
month_day clase
month_day_last clase
year_month_day
year_month_day_last
Referencia de archivos de encabezado