< cpp‎ | chrono‎ | year
Utilities library
Language support
Type support (basic types, RTTI)
Library feature-test macros (C++20)
Dynamic memory management
Program utilities
Coroutine support (C++20)
Variadic functions
Debugging support
Three-way comparison
General utilities
Date and time
Function objects
Formatting library (C++20)
Relational operators (deprecated in C++20)
Integer comparison functions
Swap and type operations
Common vocabulary types
Elementary string conversions

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 [-3276732767], constructs a year object holding the year value y. Otherwise the value held is unspecified.

[edit] Example

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


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