std::chrono::month_day::ok
来自cppreference.com
| |
(C++20 起) | |
确定此 month_day 是否存储合法的月日组合。
若 month() 表示合法月份(month().ok() == true),unsigned{day()} >= 1 且 unsigned{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