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