Compartir a través de


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