Compartir a través de


Clase year_month_weekday_last

Año, mes y último día de la semana específicos del mes.

Sintaxis

class year_month_weekday_last; // C++20

Comentarios

year_month_weekday_last admite la aritmética orientada a años y meses, pero no aritmética orientada a días. Para usar la aritmética orientada a días, use la conversión sys_days para convertir a sys_days, que sí admite la aritmética orientada a días.

year_month_weekday_last es un tipo de clase de diseño estándar y fácil de copiar.

Miembros

Nombre Descripción
Constructor Crea un objeto year_month_weekday_last con el mes y día de la semana especificados.
month Obtiene valor del mes.
ok Compruebe si year_month_weekday_last es válido.
operator+= Suma el número especificado de meses o años.
operator-= Reste el número especificado de meses o años.
operator local_days Obtiene el recuento de días desde la época system_clock hasta year_month_weekday_last como local_days.
operator sys_days Obtiene el recuento de días desde la época system_clock hasta year_month_weekday_last como sys_days.
weekday Obtiene el día de la semana.
weekday_last Obtiene el objeto weekday_last almacenado en este objeto year_month_weekday_last.
year Obtiene el año.

No miembros

Nombre Descripción
operator+ Sume meses o años.
operator- Reste meses o años.
operator== Determine si dos valores year_month_weekday_last son iguales.
operator<< Genera un elemento year_month_weekday_last en la secuencia especificada.

Requisitos

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

Espacio de nombres: std::chrono

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

Constructor

Construye un objeto year_month_weekday_last.

constexpr year_month_weekday_last(const year& y, const month& m, const weekday_last& wdl) noexcept

Parámetros

m
Valor de tipo month.

wdl
Valor de tipo weekday_last.

y
Valor de tipo year.

Para obtener información sobre la sintaxis de C++20 usada para especificar fechas, consulte operator/

Ejemplo: Creación de un objeto year_month_weekday_last

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month_weekday_last ymwl{ 1997y / January / Wednesday[last] };
    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]

month

Obtiene valor del mes.

constexpr month month() const noexcept;

Valor devuelto

Valor de tipo month.

ok

Comprueba si el valor almacenado en este elemento year_month_weekday_last es válido. Los objetos year, month y weekday_last almacenados en este objeto year_month_weekday_last deben ser todos ok para que esta función devuelva true. De lo contrario, devuelve false.

constexpr bool ok() const noexcept;

Valor devuelto

true si el valor de year_month_weekday_last es válido. En caso contrario, es false.
year_month_weekday_last es válido si month, weekday_indexed y year son válidos.

operator+=

Agrega meses o años a este year_month_weekday_last.

1) constexpr year_month_weekday_last& operator+=(const months& m) noexcept;
2) constexpr year_month_weekday_last& operator+=(const years& y) noexcept;

Parámetros

m
Número de meses que se van a agregar.

y
Número de años que se van a agregar.

Valor devuelto

*this, que refleja el resultado de la suma.

Ejemplo: operator+=

// compile using: /std:c++latest
#include <iostream>
#include <chrono>

using namespace std::chrono;

int main()
{
    year_month_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
    std::cout << ymwl << '\n';

    ymwl += months{ 1 };
    ymwl += years{ 1 };

    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]
1998/Feb/Wed[last]

operator-=

Resta meses o años de este year_month_weekday_last.

1) constexpr year_month_weekday_last& operator-=(const months& m) noexcept;
2) constexpr year_month_weekday_last& operator-=(const years& y) noexcept;

Parámetros

m
Número de meses que se van a restar.

y
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_weekday_last ymwl{ year(1997) / January / Wednesday[last] };
    std::cout << ymwl << '\n';

    ymwl -= months{ 1 };
    ymwl -= years{ 1 };

    std::cout << ymwl << '\n';
    
    return 0;
}
1997/Jan/Wed[last]
1995/Dec/Wed[last]

operator local_days

Obtiene el recuento de días desde la época system_clock (1/1/1970) hasta year_month_weekday_last como local_days.

constexpr explicit operator local_days() const noexcept;

Valor devuelto

Si es ok(), devuelve un recuento de días como local_days{sys_days{*this}.time_since_epoch()}. De lo contrario, no se especifica el valor devuelto.

operator sys_days

Obtiene el recuento de días desde la época system_clock (1/1/1970) hasta year_month_day como sys_days.

constexpr operator sys_days() const noexcept;

Valor devuelto

Si es ok() == true, devuelve un objeto sys_days que representa el último objeto weekday() de year() / month() (Nota: / es el operador de fecha, no una división). De lo contrario, no se especifica el valor devuelto.

weekday

Obtiene el objeto weekday.

constexpr weekday weekday() const noexcept;

Valor devuelto

El weekday.

weekday_last

Obtiene el objeto weekday_last almacenado en este objeto year_month_weekday_last.

constexpr weekday_indexed weekday_last() const noexcept;

Valor devuelto

El weekday_last.

year

Obtiene el valor del año.

constexpr year year() const noexcept;

Valor devuelto

Valor de tipo year.

Consulte también

<chrono>
year
year_month
year_month_day
year_month_day_last
year_month_weekday
operator/
Referencia de archivos de encabezado