# std::chrono::year::year

From cppreference.com
< cpp‎ | chrono‎ | year

year() = default; | (1) | (since C++20)
constexpr explicit year( int y ) noexcept; | (2) | (since C++20)

Constructs a `year` object.

1) Default constructor leaves the year value uninitialized.
2) If `y` is in the range [-32767, 32767], constructs a `year` object holding the year value `y`. Otherwise the value held is unspecified.

### Example

Run this code

    #include <chrono>
    #include <iostream>

    int main() {
        using namespace std::chrono;

        constexpr int leap_years = [] {
            int count{};
            for (int i{year::min()}; i <= int{year::max()}; ++i)
                if (year{i}.is_leap()) // uses constructor (2)
                    ++count;
            return count;
        } ();

        static_assert(15891 == leap_years);

        std::cout << "There are " << leap_years << " leap years in the range ["
                  << int(year::min()) << ", " << int(year::max()) << "].\n";
    }

Output:

    There are 15891 leap years in the range [-32767, 32767].

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