std::chrono:: operator/ (calendar)
|
定义于头文件
<chrono>
|
||
year_month
|
||
|
constexpr
auto
operator
/
(
const
std::
chrono
::
year
&
y,
const
std::
chrono
::
month
&
m
)
noexcept
|
(1) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
year
&
y,
int
m
)
noexcept
- > std:: chrono :: year_month ; |
(2) | (自 C++20 起) |
month_day
|
||
|
constexpr
auto
operator
/
(
const
std::
chrono
::
month
&
m,
const
std::
chrono
::
day
&
d
)
noexcept
|
(3) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
month
&
m,
int
d
)
noexcept
- > std:: chrono :: month_day ; |
(4) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
int
m,
const
std::
chrono
::
day
&
d
)
noexcept
- > std:: chrono :: month_day ; |
(5) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
day
&
d,
const
std::
chrono
::
month
&
m
)
noexcept
|
(6) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
day
&
d,
int
m
)
noexcept
- > std:: chrono :: month_day ; |
(7) | (自 C++20 起) |
month_day_last
|
||
|
constexpr
auto
operator
/
(
const
std::
chrono
::
month
&
m,
std::
chrono
::
last_spec
)
noexcept
|
(8) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
int
m,
std::
chrono
::
last_spec
)
noexcept
- > std:: chrono :: month_day_last ; |
(9) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
std::
chrono
::
last_spec
,
const
std::
chrono
::
month
&
m
)
noexcept
|
(10) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
std::
chrono
::
last_spec
,
int
m
)
noexcept
- > std:: chrono :: month_day_last ; |
(11) | (自 C++20 起) |
month_weekday
|
||
|
constexpr
auto
operator
/
(
const
std::
chrono
::
month
&
m,
const
std::
chrono
::
weekday_indexed
&
wdi
)
noexcept
|
(12) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
int
m,
const
std::
chrono
::
weekday_indexed
&
wdi
)
noexcept
- > std:: chrono :: month_weekday ; |
(13) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
weekday_indexed
&
wdi,
const
std::
chrono
::
month
&
m
)
noexcept
|
(14) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
weekday_indexed
&
wdi,
int
m
)
noexcept
- > std:: chrono :: month_weekday ; |
(15) | (自 C++20 起) |
month_weekday_last
|
||
|
constexpr
auto
operator
/
(
const
std::
chrono
::
month
&
m,
const
std::
chrono
::
weekday_last
&
wdl
)
noexcept
|
(16) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
int
m,
const
std::
chrono
::
weekday_last
&
wdl
)
noexcept
- > std:: chrono :: month_weekday_last ; |
(17) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
weekday_last
&
wdl,
const
std::
chrono
::
month
&
m
)
noexcept
|
(18) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
weekday_last
&
wdl,
int
m
)
noexcept
- > std:: chrono :: month_weekday_last ; |
(19) | (自 C++20 起) |
year_month_day
|
||
|
constexpr
auto
operator
/
(
const
std::
chrono
::
year_month
&
ym,
const
std::
chrono
::
day
&
d
)
noexcept
|
(20) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
year_month
&
ym,
int
d
)
noexcept
- > std:: chrono :: year_month_day ; |
(21) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
year
&
y,
const
std::
chrono
::
month_day
&
md
)
noexcept
|
(22) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
int
y,
const
std::
chrono
::
month_day
&
md
)
noexcept
- > std:: chrono :: year_month_day ; |
(23) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
month_day
&
md,
const
std::
chrono
::
year
&
y
)
noexcept
|
(24) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
month_day
&
md,
int
y
)
noexcept
- > std:: chrono :: year_month_day ; |
(25) | (自 C++20 起) |
year_month_day_last
|
||
|
constexpr
auto
operator
/
(
const
std::
chrono
::
year_month
&
ym,
std::
chrono
::
last_spec
)
noexcept
|
(26) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
year
&
y,
const
std::
chrono
::
month_day_last
&
mdl
)
noexcept
|
(27) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
int
y,
const
std::
chrono
::
month_day_last
&
mdl
)
noexcept
- > std:: chrono :: year_month_day_last ; |
(28) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
month_day_last
&
mdl,
const
std::
chrono
::
year
&
y
)
noexcept
|
(29) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
month_day_last
&
mdl,
int
y
)
noexcept
- > std:: chrono :: year_month_day_last ; |
(30) | (自 C++20 起) |
year_month_weekday
|
||
|
constexpr
auto
operator
/
(
const
std::
chrono
::
year_month
&
ym,
const
std::
chrono
::
weekday_indexed
&
wdi
)
noexcept
|
(31) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
year
&
y,
const
std::
chrono
::
month_weekday
&
mwd
)
noexcept
|
(32) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
int
y,
const
std::
chrono
::
month_weekday
&
mwd
)
noexcept
- > std:: chrono :: year_month_weekday ; |
(33) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
month_weekday
&
mwd,
const
std::
chrono
::
year
&
y
)
noexcept
|
(34) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
month_weekday
&
mwd,
int
y
)
noexcept
- > std:: chrono :: year_month_weekday ; |
(35) | (自 C++20 起) |
year_month_weekday_last
|
||
|
constexpr
auto
operator
/
(
const
std::
chrono
::
year_month
&
ym,
const
std::
chrono
::
weekday_last
&
wdl
)
noexcept
|
(36) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
year
&
y,
const
std::
chrono
::
month_weekday_last
&
mwdl
)
noexcept
|
(37) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
int
y,
const
std::
chrono
::
month_weekday_last
&
mwdl
)
noexcept
- > std:: chrono :: year_month_weekday_last ; |
(38) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
month_weekday_last
&
mwdl,
const
std::
chrono
::
year
&
y
)
noexcept
|
(39) | (自 C++20 起) |
|
constexpr
auto
operator
/
(
const
std::
chrono
::
month_weekday_last
&
mwdl,
int
y
)
noexcept
- > std:: chrono :: year_month_weekday_last ; |
(40) | (自 C++20 起) |
这些 operator / 重载为创建 公历溯推日历 日期提供了常规语法。
创建完整日期时,以下三种顺序均可接受:
-
年/月/日, -
月/日/年, -
日/月/年。
在每种情况下
day
可以替换为以下之一:
- std::chrono::last ,表示该月的最后一天;
-
weekday [ i ],表示该月的第ith weekday (工作日); -
weekday [ std::chrono::last ],表示该月的最后一个 weekday (工作日)。
当普通整数的含义能够从其他操作数的类型中明确推断时,该整数可以被接受: 2005y / 4 / 5 是允许的,但 5 / April / 2005 则不被允许。
部分日期类型(
year_month
、
month_day
等)可通过在三种顺序中均不应用第二个
operator
/
来创建。
返回值
示例
#include <chrono> using namespace std::chrono; constexpr auto ym{2021y/8}; static_assert(ym == year_month(year(2021), August)); constexpr auto md{9/15d}; static_assert(md == month_day(September, day(15))); constexpr auto mdl{October/last}; static_assert(mdl == month_day_last(month(10))); constexpr auto mw{11/Monday[3]}; static_assert(mw == month_weekday(November, Monday[3])); constexpr auto mwdl{December/Sunday[last]}; static_assert(mwdl == month_weekday_last(month(12), weekday_last(Sunday))); // 这个星球及更远地方人们实际使用的三种年月日顺序: constexpr auto ymd{year(2021)/January/day(23)}; static_assert(ymd == month{1}/23/2021); static_assert(ymd == day{23}/1/2021); static_assert(ymd == year_month_day(2021y, month(January), 23d)); int main() {}