Namespaces
Variants

std::chrono::month:: ok

From cppreference.net
constexpr bool ok ( ) const noexcept ;
(C++20以降)

* this に格納されている月の値が有効な範囲、すなわち [ 1 , 12 ] 内にあるかどうかをチェックします。

戻り値

true が返されるのは、 * this に格納されている月の値が範囲 [ 1 , 12 ] 内にある場合です。それ以外の場合は false が返されます。

#include <chrono>
#include <iostream>
int main()
{
    for (const unsigned mm : {6u, 0u, 16U})
    {
        std::cout << mm << ": ";
        const std::chrono::month m{mm};
        m.ok() ? std::cout << "month is valid\n"
               : std::cout << "month is invalid\n";
    }
}

出力:

6: month is valid
0: month is invalid
16: month is invalid