Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Clase
Representa un mes de un año. Por ejemplo, julio.
Sintaxis
class month; // C++20
Comentarios
Normalmente month contiene los valores en el intervalo [1, 12]. También puede contener valores no negativos fuera de este intervalo.
Consulte Constantes de month más abajo para saber qué constantes se pueden usar con la clase month.
Miembros
| Nombre | Descripción |
|---|---|
| Constructores | Construya un elemento month. |
ok |
Compruebe que el valor del mes está en el intervalo válido [1,12]. |
operator++ |
Incrementa el month. |
operator+= |
Suma el número especificado de meses a este month. |
operator-- |
Disminuye este month. |
operator-= |
Resta el número especificado de meses de este month. |
operator unsigned |
Obtiene el valor de month. |
No miembros
| Nombre | Descripción |
|---|---|
from_stream |
Analiza un month desde la secuencia especificada con el formato indicado. |
operator+ |
Agrega el número especificado de meses a este month, devolviendo una nueva instancia month. |
operator- |
Resta el número especificado de meses de este mes. Devuelve una nueva instancia de month. |
operator== |
Determina si dos meses son iguales. |
operator<=> |
Compara este mes con otro mes. El compilador sintetiza los operadores >, >=, <=, <, !=. |
operator<< |
Genera un elemento month en la secuencia especificada. |
Requisitos
Encabezado: <chrono> (desde C++20)
Espacio de nombres: std::chrono
Opción del compilador: /std:c++latest
Constructores
Construya un elemento month.
1) month() = default;
2) explicit constexpr month(unsigned m) noexcept;
Parámetros
m
Construye un objeto month con el valor m.
Comentarios
1) El constructor predeterminado no inicializa el valor del día.
2) Construye un elemento month con el valor del día inicializado en m.
ok
Compruebe si el valor almacenado en esta instancia de month se encuentra en el intervalo válido.
constexpr bool ok() const noexcept;
Valor devuelto
true si el valor del mes está en el intervalo [1,12]. En caso contrario, es false.
operator++
Incremente el valor del mes.
1) constexpr month& operator++() noexcept;
2) constexpr month operator++(int) noexcept;
Valor devuelto
1) Una referencia a *this mes después de que se haya incrementado (un incremento postfijo).
2) Una copia de month, 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()
{
month m{ January };
month m2{4}; // April
std::cout << m << " " << ++m << "\n"; // constexpr month& operator++() noexcept
std::cout << m << " " << m++ << "\n"; // constexpr month operator++(int) noexcept
std::cout << m << "\n";
std::cout << m2 << "\n";
return 0;
}
Jan Feb
Feb Feb
Mar
Apr
Comentarios
Si el resultado supera 12, se establece en 1.
operator--
Resta 1 del valor del mes.
1) constexpr month& operator--() noexcept;
2) constexpr month operator--(int) noexcept;
Valor devuelto
1) Una referencia a *this month después de que se haya decrementado (un postfijo decremento).
2) Una copia del antes de month que se haya decrementado (un prefijo decremento).
Ejemplo: operator--
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std;
using namespace std::chrono;
int main()
{
month m{May};
cout << m << " " << --m << "\n"; // constexpr month& operator++() noexcept
cout << m << " " << m-- << "\n"; // constexpr month operator++(int) noexcept
cout << m << "\n";
return 0;
}
May Apr
Apr Apr
Mar
Comentarios
Si el resultado reducido es menor que 1, se establece en 12.
operator+=
Agregue meses a este month.
constexpr month& operator+=(const months& m) noexcept;
Parámetros
m
Número de meses que se van a agregar.
Valor devuelto
*this
operator-=
Reste months de este month.
constexpr month& operator-=(const months& m) noexcept;
Parámetros
m
Meses que se van a restar.
Valor devuelto
*this.
operator unsigned
Obtiene el valor month sin firmar.
explicit constexpr operator unsigned() const noexcept;
Valor devuelto
Valor sin firmar de este month
Ejemplo: operator unsigned()
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
month m{July};
unsigned monthValue = static_cast<unsigned>(m);
std::cout << monthValue << "\n";
return 0;
}
7
Constantes de mes
(C++20) El encabezado <chrono> define las siguientes constantes que puede usar con month para mayor comodidad, seguridad de tipos y mantenimiento del código. Estas constantes están dentro del ámbito si std::chrono está dentro del ámbito.
// Calendrical constants
inline constexpr month January{1};
inline constexpr month February{2};
inline constexpr month March{3};
inline constexpr month April{4};
inline constexpr month May{5};
inline constexpr month June{6};
inline constexpr month July{7};
inline constexpr month August{8};
inline constexpr month September{9};
inline constexpr month October{10};
inline constexpr month November{11};
inline constexpr month December{12};
Consulte también
<chrono>
month_day (clase)
month_day_last (clase)
month_weekday (clase)
Clase month_weekday_last