# std::chrono::month_day::ok

From cppreference.com
< cpp‎ | chrono‎ | month day

constexpr bool ok() const noexcept; |  | (since C++20)

Determines whether this `month_day` stores a valid month-day combination.

The combination is valid if month() represents a valid month (month().ok() == true), unsigned{day()} >= 1, and unsigned{day()} <= D, where D is the number of days in the month represented by `month()`. The number of days in February is considered to be 29.

### Return value

true if the month and day combination is valid, otherwise false.

### Example

Run this code

    #include <iostream>
    #include <chrono>

    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';
    }

Output:

    true false true

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/chrono/month_day/ok&oldid=146049"