std::chrono::year_month_day::ok

来自cppreference.com
 
 
 
日期和时间工具
(C++11)
(C++11)
时钟
(C++20)
                                                  
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
日历
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
时区
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
C 风格日期和时间
 
 
constexpr bool ok() const noexcept;
(C++20 起)

检查此 year_month_day 对象是否表示合法的日历日期。

返回值

若此 year_month_day 对象表示合法的日历日期,即存储的 yearmonthday 值均合法,且存储的 day 值在给定年和月的日数内,则为 true 。否则为 false

可能的实现

constexpr bool std::chrono::year_month_day::ok() const noexcept {
    return year().ok() && month().ok() && day().ok() &&
           day() <= (year()/month()/std::chrono::last).day();
}