命名空间
变体
操作

std::chrono::month_day::ok

来自 cppreference.cn
< cpp‎ | chrono‎ | month day
 
 
 
 
constexpr bool ok() const noexcept;
(自 C++20 起)

确定此 month_day 是否存储有效的月-日组合。

如果 month() 表示有效月份 ( month().ok() == true ),unsigned{day()} >= 1unsigned{day()} <= D,则组合有效,其中 D 是 month() 表示的月份中的天数。二月份的天数被认为是 29 天。

[编辑] 返回值

true 如果月和日组合有效,否则为 false。

[编辑] 示例

#include <chrono>
#include <iostream>
 
int main()
{
    std::cout << std::boolalpha;
 
    constexpr auto md1{std::chrono::July/15};
    std::cout << (md1.ok()) << ' ';
    constexpr std::chrono::month_day md2{std::chrono::month(14), std::chrono::day(42)};
    std::cout << (md2.ok()) << ' ';
    constexpr auto md3{std::chrono::February/29};
    std::cout << (md3.ok()) << '\n';
}

输出

true false true