std::chrono::operator<<(std::chrono::year)(3)

NAME
std::chrono::operator<<(std::chrono::year) - std::chrono::operator<<(std::chrono::year)

Synopsis
   Defined in header <chrono>
   template< class CharT, class Traits >
   std::basic_ostream<CharT, Traits>& (since C++20)
       operator<<( std::basic_ostream<CharT, Traits>& os, const
   std::chrono::year& y );
   Forms a std::basic_string<CharT> s consisting of the year value stored in y
   formatted as a decimal number, left-padded with 0 to four digits if the result would
   otherwise be less than four digits. Then, if !y.ok(), append " is not a valid year"
   to the formatted string. Inserts that string into os.
   Equivalent to
   return os << (y.ok() ?
       std::format(STATICALLY_WIDEN<CharT>("{:%Y}"), y) :
       std::format(STATICALLY_WIDEN<CharT>("{:%Y} is not a valid year"), y));
   where STATICALLY_WIDEN<CharT>("...") is "..." if CharT is char, and L"..." if CharT
   is wchar_t.

Return value
   os

Example
// Run this code
 #include <chrono>
 #include <iostream>
 int main()
 {
     constexpr std::chrono::year y1{2020}, y2{-020}, y3{98304};
     std::cout << y1 << '\n'
               << y2 << '\n'
               << y3 << '\n';
 }

Possible output:
 2020
 -0016
 -32768 is not a valid year

See also
   format stores formatted representation of the arguments
   (C++20) in a new string
                        (function template)
   std::formatter<std::chrono::year> formatting support for year
   (C++20) (class template specialization)