std::chrono:: operator+, std::chrono:: operator- (std::chrono::year_month_day_last)
From cppreference.net
<
cpp
|
chrono
|
year month day last
1,2)
Ajoute
dm.
count
(
)
mois à la date représentée par
ymdl
. Le résultat a la même
year()
et le même
month()
que
std::
chrono
::
year_month
(
ymdl.
year
(
)
, ymdl.
month
(
)
)
+
dm
.
3,4)
Ajoute
dy.
count
(
)
années à la date représentée par
ymdl
. Le résultat est équivalent à
std::
chrono
::
year_month_day_last
(
ymdl.
year
(
)
+
dy, ymdl.
month_day_last
(
)
)
.
5)
Soustrait
dm.
count
(
)
mois de la date représentée par
ymdl
. Équivalent à
ymdl
+
-
dm
.
6)
Soustrait
dy.
count
(
)
années de la date représentée par
ymdl
. Équivalent à
ymdl
+
-
dy
.
Pour les durées qui sont convertibles à la fois en
std::chrono::years
et en
std::chrono::months
, les surcharges
years
(3,4,6)
sont préférées si l'appel serait autrement ambigu.
Exemple
Exécuter ce code
#include <cassert> #include <chrono> #include <iostream> int main() { auto ymdl{11/std::chrono::last/2020}; std::cout << ymdl << '\n'; ymdl = std::chrono::years(10) + ymdl; std::cout << ymdl << '\n'; assert(ymdl == std::chrono::day(30)/ std::chrono::November/ std::chrono::year(2030)); ymdl = ymdl - std::chrono::months(6); std::cout << ymdl << '\n'; assert(ymdl == std::chrono::day(31)/ std::chrono::May/ std::chrono::year(2030)); }
Sortie :
2020/Nov/last 2030/Nov/last 2030/May/last