std::chrono::month::ok

From cppreference.com
< cpp‎ | chrono‎ | month
Date and time library
Time point
(C++11)
(C++20)
Duration
(C++11)
Clocks
(C++11)
(C++11)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
Time of day
(C++20)(C++20)
(C++20)(C++20)
(C++20)

Calendar
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
Time zone
(C++20)
(C++20)
(C++20) (C++20) (C++20) (C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
chrono I/O
(C++20)
C-style date and time
constexpr bool ok( ) const noexcept ;
(since C++20)

Checks if the month value stored in *this is in the valid range, i.e., [ 1 12 ]

Return value

true if the month value stored in *this is in the range [ 1 12 ] . Otherwise false

Example

#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";
    }
}

Output:

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