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
转换为表示与此
year_month_weekday
相同日期的
std::chrono::time_point
。
1)
如果
year
(
)
.
ok
(
)
&&
month
(
)
.
ok
(
)
&&
weekday
(
)
.
ok
(
)
:
-
-
若
index
(
)
==
0
,返回表示该年月第一个
weekday()前7天的sys_days。 -
否则,返回表示该年月第一个
weekday()
之后
(
index
(
)
-
1
)
*
7
天的
sys_days。
-
若
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'; // 从基于字段的时间转换为基于序列的时间以添加小时 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