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) | (depuis C++20) |
|
constexpr
std::
chrono
::
year_month
operator
+
(
const
std::
chrono
::
years
&
dy,
const std:: chrono :: year_month & ym ) noexcept ; |
(2) | (depuis C++20) |
|
constexpr
std::
chrono
::
year_month
operator
+
(
const
std::
chrono
::
year_month
&
ym,
const std:: chrono :: months & dm ) noexcept ; |
(3) | (depuis C++20) |
|
constexpr
std::
chrono
::
year_month
operator
+
(
const
std::
chrono
::
months
&
dm,
const std:: chrono :: year_month & ym ) noexcept ; |
(4) | (depuis C++20) |
|
constexpr
std::
chrono
::
year_month
operator
-
(
const
std::
chrono
::
year_month
&
ym,
const std:: chrono :: years & dy ) noexcept ; |
(5) | (depuis C++20) |
|
constexpr
std::
chrono
::
year_month
operator
-
(
const
std::
chrono
::
year_month
&
ym,
const std:: chrono :: months & dm ) noexcept ; |
(6) | (depuis C++20) |
|
constexpr
std::
chrono
::
months
operator
-
(
const
std::
chrono
::
year_month
&
ym1,
const std:: chrono :: year_month & ym2 ) noexcept ; |
(7) | (depuis C++20) |
Pour les durées qui sont convertibles à la fois en
std::chrono::years
et en
std::chrono::months
, les surcharges de
years
(1,2,5)
sont préférées si l'appel serait autrement ambigu.
Table des matières |
Valeur de retour
year_month
z
telle que
z
-
ym
==
dm
et
z.
ok
(
)
==
true
.
ym1. year ( ) - ym2. year ( ) + std:: chrono :: months ( int ( unsigned ( ym1. month ( ) ) ) -
int ( unsigned ( ym2. month ( ) ) ) )
Notes
Le résultat de la soustraction de deux valeurs
year_month
est une durée de type
std::chrono::months
. Cette unité de durée représente la longueur moyenne d'un mois grégorien (30,436875 jours), et la durée résultante n'a aucun rapport avec le nombre réel de jours dans la période concernée. Par exemple, le résultat de
2017y
/
3
-
2017y
/
2
est
std::
chrono
::
months
(
1
)
, même si février 2017 ne contient que 28 jours.
Exemple
#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)); }
Voir aussi
modifie le
year_month
d'un certain nombre de mois ou d'années
(fonction membre publique) |