Clase day
Representa un día del mes. Por ejemplo, el día 25 del mes.
Sintaxis
class day; // C++20
Comentarios
Normalmente day
contiene los 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 elemento day . |
ok |
Compruebe que el valor del día esté en el intervalo válido [1,31]. |
operator++ |
Incrementa este elemento day . |
operator+= |
Suma el número especificado de días a este elemento day . |
operator-- |
Disminuye el elemento day . |
operator-= |
Resta el número especificado de días de este elemento day . |
operator unsigned |
Obtiene el valor de día como un entero sin signo. |
No miembros
Nombre | Descripción |
---|---|
from_stream |
Analiza un day desde la secuencia especificada con el formato indicado. |
operator+ |
Suma el número especificado de días a este elemento day y devuelve un nuevo objeto day . |
operator- |
Resta el número especificado de días de este elemento day y devuelve un nuevo objeto day . |
operator== |
Determina si dos instancias de day son iguales. |
operator<=> |
Compara este elemento day con otro elemento day . El compilador sintetiza los operadores >, >=, <=, <, != . |
operator<< |
Genera un elemento day en la secuencia especificada. |
operator""d |
Crea un literal day para un día del 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
Construye un objeto day
con el valor d
.
Comentarios
1) El constructor predeterminado no inicializa el valor del día.
2) Construye un elemento day
con el valor del 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 del día está en el intervalo [1,31]. En caso contrario, es false
.
operator++
Agrega 1 al valor del día.
1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;
Valor devuelto
1) Referencia a *this
day
después de que se haya incrementado (un incremento postfijo).
2) Una copia de day
, antes de que se incrementara (un incremento 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
Comentarios
Si el resultado incrementado está fuera del intervalo [0, 255], no se especifica el valor almacenado.
operator--
Resta 1 del valor del día.
1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;
Valor devuelto
1) Una referencia a este día (*this
) después de que se haya reducido (un decremento postfijo).
2) Una copia de *day
, antes de que se redujera (un decremento prefijo).
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
Comentarios
Si el resultado reducido está fuera del intervalo [0, 255], no se especifica el valor almacenado.
operator+=
Suma días a este day
.
constexpr day& operator+=(const days& d) noexcept;
Parámetros
d
El número de días que se van a agregar.
Valor devuelto
*this
Si el resultado está fuera del intervalo [0, 255], no se especifica el valor almacenado.
operator-=
Resta días de este elemento day
.
constexpr day& operator-=(const days& d) noexcept;
Parámetros
d
Número de días que se va a restar.
Valor devuelto
*this
. Si el resultado está fuera del intervalo [0, 255], no se especifica el valor almacenado.
operator unsigned
Obtiene el valor de day
.
explicit constexpr operator unsigned() const noexcept;
Valor devuelto
El 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>
Clase month_day
Clase month_day_last
year_month_day
year_month_day_last
Referencia de archivos de encabezado