Clase year_month
Representa un mes y un año. No se especifica el día.
Sintaxis
class year_month; // C++20
Miembros
Nombre | Descripción |
---|---|
Constructores | Construyen un elemento year_month |
year |
Devuelve el año. |
month |
Devuelve el mes. |
ok |
Verifica que los valores year y month están en el intervalo válido. |
operator+= |
Suma el número especificado de meses o años. |
operator-= |
Reste el número especificado de meses o años. |
No miembros
Nombre | Descripción |
---|---|
from_stream |
Analiza un year_month desde la secuencia especificada con el formato especificado |
operator+ |
Agrega meses o años. |
operator- |
Resta meses o años. |
operator== |
Determine si dos valores year_month son iguales. |
operator<=> |
Compare dos valores year_month . El compilador sintetiza los operadores >, >=, <=, <, != . |
operator<< |
Genera un year_month a una secuencia. |
Requisitos
Encabezado: <chrono>
(desde C++20)
Espacio de nombres: std::chrono
Opción del compilador: /std:c++latest
Constructores
Construya un elemento year_month
.
1) year_month() = default;
2) constexpr year_month(const year& y, const month& m) noexcept;
Parámetros
y
Valor de tipo year
.
m
Valor de tipo month
.
Comentarios
1) El constructor predeterminado no inicializa el valor year
o month
.
2) Estructura year_month
con los valores especificados.
Para obtener información sobre la sintaxis de C++20 para especificar fechas, consulte operator/
Ejemplo: Creación de un objeto year_month
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month ym{2021y / June};
std::cout << ym;
return 0;
}
2021/Jun
month
Obtiene el mes.
constexpr month month() const noexcept;
Valor devuelto
Valor de tipo month
.
year
Obtiene el año.
constexpr year year() const noexcept;
Valor devuelto
El year
.
ok
Comprueba si el valor de año y mes almacenado en este year_month
se encuentren en el intervalo válido.
constexpr bool ok() const noexcept;
Valor devuelto
true
si los year_month
valores de año y mes están en el intervalo válido. En caso contrario, es false
.
operator+=
Agrega meses o años a este year_month
.
1) constexpr year_month& operator+=(const months& dm) noexcept;
2) constexpr year_month& operator+=(const years& dy) noexcept;
Parámetros
dm
Número de meses que se van a agregar.
dy
Número de años que se van a agregar.
Valor devuelto
*this
, que refleja el resultado de la adición.
Ejemplo: operator +=
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month ym{2021y / June};
std::cout << ym << '\n';
ym += months{2};
ym += years{1};
std::cout << ym;
return 0;
}
2021/Jun
2022/Aug
operator-=
Resta meses o años de este year_month
.
1) constexpr year_month& operator-=(const months& dm) noexcept;
2) constexpr year_month& operator-=(const years& dy) noexcept;
Parámetros
dm
Número de meses que se van a restar.
dy
Número de años que se va a restar.
Valor devuelto
*this
, que refleja el resultado de la resta.
Ejemplo: operator -=
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year_month ym{2021y / June};
std::cout << ym << '\n';
ym -= months{2};
ym -= years{1};
std::cout << ym;
return 0;
}
2021/Jun
2020/Apr
Consulte también
<chrono>
year
year_month_day
year_month_day_last
year_month_weekday
year_month_weekday_last
operator/
Referencia de archivos de encabezado