std::chrono:: year_month_day
|
Definido en el encabezado
<chrono>
|
||
|
class
year_month_day
;
|
(desde C++20) | |
La clase
year_month_day
representa un año, mes y día específicos. Es un punto temporal basado en campos, con una resolución de
std::chrono::days
.
Se admite directamente aritmética orientada a
std::chrono::years
y
std::chrono::months
. Una conversión implícita hacia y desde
std::chrono::sys_days
permite realizar aritmética orientada a
std::chrono::days
de manera eficiente.
year_month_day
es un
TriviallyCopyable
StandardLayoutType
.
Contenidos |
Funciones miembro
construye un
year_month_day
(función miembro pública) |
|
|
modifica el punto temporal por cierto número de meses o años
(función miembro pública) |
|
|
accede al año, mes y día almacenados en este objeto
(función miembro pública) |
|
|
convierte a un
std::chrono::time_point
(función miembro pública) |
|
verifica si el
year_month_day
representa una fecha válida
(función miembro pública) |
Funciones no miembro
|
(C++20)
|
compara dos valores de
year_month_day
(función) |
|
(C++20)
|
suma o resta un
year_month_day
y cierta cantidad de años o meses
(función) |
|
(C++20)
|
envía un
year_month_day
a un flujo
(plantilla de función) |
|
(C++20)
|
analiza un
year_month_day
desde un flujo según el formato proporcionado
(plantilla de función) |
Clases auxiliares
soporte de formato para
year_month_day
(especialización de plantilla de clase) |
|
|
soporte de hash para
std::chrono::year_month_day
(especialización de plantilla de clase) |
Ejemplo
#include <chrono> #include <iostream> int main() { const std::chrono::time_point now{std::chrono::system_clock::now()}; const std::chrono::year_month_day ymd{std::chrono::floor<std::chrono::days>(now)}; std::cout << "Current Year: " << static_cast<int>(ymd.year()) << ", " "Month: " << static_cast<unsigned>(ymd.month()) << ", " "Day: " << static_cast<unsigned>(ymd.day()) << "\n" "ymd: " << ymd << '\n'; }
Salida posible:
Current Year: 2023, Month: 9, Day: 4 ymd: 2023-09-04