std::chrono:: operator+, std::chrono:: operator- (std::chrono::year_month)
|
constexpr
std::
chrono
::
year_month
operator
+
(
const
std::
chrono
::
year_month
&
ym,
const std:: chrono :: years & dy ) noexcept ; |
(1) | (desde C++20) |
|
constexpr
std::
chrono
::
year_month
operador
+
(
const
std::
chrono
::
years
&
dy,
const std:: chrono :: year_month & ym ) noexcept ; |
(2) | (desde C++20) |
|
constexpr
std::
chrono
::
year_month
operator
+
(
const
std::
chrono
::
year_month
&
ym,
const std:: chrono :: months & dm ) noexcept ; |
(3) | (desde C++20) |
|
constexpr
std::
chrono
::
year_month
operador
+
(
const
std::
chrono
::
months
&
dm,
const std:: chrono :: year_month & ym ) noexcept ; |
(4) | (desde C++20) |
|
constexpr
std::
chrono
::
year_month
operador
-
(
const
std::
chrono
::
year_month
&
ym,
const std:: chrono :: years & dy ) noexcept ; |
(5) | (desde C++20) |
|
constexpr
std::
chrono
::
year_month
operador
-
(
const
std::
chrono
::
year_month
&
ym,
const std:: chrono :: months & dm ) noexcept ; |
(6) | (desde C++20) |
|
constexpr
std::
chrono
::
months
operador
-
(
const
std::
chrono
::
year_month
&
ym1,
const std:: chrono :: year_month & ym2 ) noexcept ; |
(7) | (desde C++20) |
Para duraciones que son convertibles tanto a
std::chrono::years
como a
std::chrono::months
, las sobrecargas de
years
(1,2,5)
tienen preferencia si la llamada sería de otro modo ambigua.
Contenidos |
Valor de retorno
year_month
z
tal que
z
-
ym
==
dm
y
z.
ok
(
)
==
true
.
ym1. year ( ) - ym2. year ( ) + std:: chrono :: months ( int ( unsigned ( ym1. month ( ) ) ) -
int ( unsigned ( ym2. month ( ) ) ) )
Notas
El resultado de restar dos valores
year_month
es una duración de tipo
std::chrono::months
. Esta unidad de duración representa la longitud del mes gregoriano promedio (30.436875 días), y la duración resultante no guarda relación con el número real de días en el período de tiempo en cuestión. Por ejemplo, el resultado de
2017y
/
3
-
2017y
/
2
es
std::
chrono
::
months
(
1
)
, aunque febrero de 2017 solo contiene 28 días.
Ejemplo
#include <cassert> #include <chrono> int main() { auto ym{std::chrono::year(2021)/std::chrono::July}; ym = ym + std::chrono::months(14); assert(ym.month() == std::chrono::September); assert(ym.year() == std::chrono::year(2022)); ym = ym - std::chrono::years(3); assert(ym.month() == std::chrono::month(9)); assert(ym.year() == std::chrono::year(2019)); ym = ym + (std::chrono::September - std::chrono::month(2)); assert(ym.month() == std::chrono::April); assert(ym.year() == std::chrono::year(2020)); }
Véase también
modifica el
year_month
por cierta cantidad de meses o años
(función miembro pública) |