std::chrono::year_month_weekday:: operator sys_days, std::chrono::year_month_weekday:: operator local_days
From cppreference.net
<
cpp
|
chrono
|
year month weekday
C++
Date and time library
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::chrono::year_month_weekday
| Member functions | ||||
|
year_month_weekday::operator sys_days
year_month_weekday::operator local_days
|
||||
| Nonmember functions | ||||
| Helper classes | ||||
|
constexpr
operator
std::
chrono
::
sys_days
(
)
const
noexcept
;
|
(1) | (начиная с C++20) |
|
constexpr
explicit
operator
std::
chrono
::
local_days
(
)
const
noexcept
;
|
(2) | (начиная с C++20) |
Преобразует
*
this
в
std::chrono::time_point
, представляющий ту же дату, что и этот
year_month_weekday
.
1)
Если
year
(
)
.
ok
(
)
&&
month
(
)
.
ok
(
)
&&
weekday
(
)
.
ok
(
)
:
-
-
Если
index
(
)
==
0
, возвращает
sys_days, представляющий дату за 7 дней до первогоweekday()года и месяца. -
Иначе, возвращает
sys_days, представляющий дату ( index ( ) - 1 ) * 7 дней после первого weekday() года и месяца.
-
Если
index
(
)
==
0
, возвращает
В противном случае возвращаемое значение не определено.
2)
То же, что и
(1)
, но возвращает
local_days
вместо
sys_days
. Эквивалентно
local_days
(
sys_days
(
*
this
)
.
time_since_epoch
(
)
)
.
Пример
Запустить этот код
#include <chrono> #include <iostream> using namespace std::chrono; int main() { constexpr auto ymwd{Tuesday[2]/11/2021}; std::cout << ymwd << '\n'; // convert from field-based to serial-based to add hours constexpr auto sd = sys_days{ymwd} + 24h; std::cout << sd << '\n'; constexpr auto ymd = floor<days>(sd); static_assert(ymd == November/10/2021); }
Вывод:
2021/Nov/Tue[2] 2021-11-10 00:00:00