std::chrono:: year_month_day_last
|
Definido en el encabezado
<chrono>
|
||
|
class
year_month_day_last
;
|
(desde C++20) | |
La clase
year_month_day_last
representa el último día de un año y mes específicos. Es un punto temporal basado en campos, con una resolución de
std::chrono::days
, sujeto a la limitación de que solo puede representar el último día de un mes.
std::chrono::years - y la aritmética orientada a std::chrono::months están soportadas directamente. Una conversión implícita a std::chrono::sys_days permite realizar eficientemente aritmética orientada a std::chrono::days .
year_month_day_last
es un
TriviallyCopyable
StandardLayoutType
.
Contenidos |
Funciones miembro
construye un objeto
year_month_day_last
(función miembro pública) |
|
|
modifica el punto temporal por cierta cantidad de meses o años
(función miembro pública) |
|
|
accede a los campos de este objeto
(función miembro pública) |
|
|
convierte a un
std::chrono::time_point
(función miembro pública) |
|
|
verifica si este objeto representa una fecha válida
(función miembro pública) |
Funciones no miembro
|
(C++20)
|
compara dos valores de
year_month_day_last
(función) |
|
(C++20)
|
suma o resta un
year_month_day_last
y cierta cantidad de años o meses
(función) |
|
(C++20)
|
envía un
year_month_day_last
a un flujo
(plantilla de función) |
Clases auxiliares
soporte de formato para
year_month_day_last
(especialización de plantilla de clase) |
|
|
soporte de hash para
std::chrono::year_month_day_last
(especialización de plantilla de clase) |
Ejemplo
#include <chrono> #include <iostream> int main() { const auto ymd = std::chrono::year_month_day { std::chrono::floor<std::chrono::days>(std::chrono::system_clock::now()) }; const std::chrono::year_month_day_last ymdl { ymd.year(), ymd.month() / std::chrono::last }; std::cout << "The last day of present month (" << ymdl << ") is: " << std::chrono::year_month_day{ymdl}.day() << '\n'; // The 'last' object can be placed wherever it is legal to place a 'day': using namespace std::chrono; constexpr std::chrono::year_month_day_last ymdl1 = 2023y / February / last, ymdl2 = last / February / 2023y, ymdl3 = February / last / 2023y; static_assert(ymdl1 == ymdl2 && ymdl2 == ymdl3); }
Salida posible:
The last day of present month (2023/Aug/last) is: 31
Véase también
|
(C++20)
|
representa un
year
,
month
y
day
específicos
(clase) |