home | help
std::chrono...ar_month_day(3)  C++ Standard Libary std::chrono...ar_month_day(3)

NAME
     std::chrono::year_month_day - std::chrono::year_month_day

Synopsis
	Defined in header <chrono>
	class year_month_day;	    (since C++20)

	The  class year_month_day represents a specific year, month, and day. It
     is a
	field-based  time  point,  with  a  resolution	 of   std::chrono::days.
     std::chrono::years-
	and  std::chrono::months-oriented  arithmetic are supported directly. An
     implicit
	conversion to and from std::chrono::sys_days  allows  std::chrono::days-
     oriented
	arithmetic to be performed efficiently.

	year_month_day is a TriviallyCopyable StandardLayoutType.

Member functions
	constructor	    constructs a year_month_day
			    (public member function)
	operator+=	     modifies the time point by some number of months or
     years
	operator-=	    (public member function)
	year		    accesses the year, month, and day stored in this ob-
     ject
	month		    (public member function)
	day
	operator sys_days   converts to a std::chrono::time_point
	operator local_days (public member function)
	ok		    checks if the year_month_day represents a valid date
			    (public member function)

	Nonmember functions

	operator==  compares two year_month_day values
	operator<=> (function)
	(C++20)
	operator+   adds or subtracts a year_month_day and some number of  years
     or months
	operator-   (function)
	(C++20)
	operator<<  outputs a year_month_day into a stream
	(C++20)     (function template)
	from_stream  parses a year_month_day from a stream according to the pro-
     vided format
	(C++20)     (function template)

Helper classes
	std::formatter<std::chrono::year_month_day>   formatting   support   for
     year_month_day
	(C++20) 				     (class template specializa-
     tion)
	std::hash<std::chrono::year_month_day>	    hash support for
	(C++26) 				    std::chrono::year_month_day
						    (class template  specializa-
     tion)

Example
     // Run this code

      #include <chrono>
      #include <iostream>

      int main()
      {
	  const std::chrono::time_point now{std::chrono::system_clock::now()};

	  const 				     std::chrono::year_month_day
     ymd{std::chrono::floor<std::chrono::days>(now)};

	  std::cout << "Current Year: " << static_cast<int>(ymd.year()) << ", "
		       "Month: " << static_cast<unsigned>(ymd.month()) << ", "
		       "Day: " << static_cast<unsigned>(ymd.day()) << "\n"
		       "ymd: " << ymd << '\n';
      }

Possible output:
      Current Year: 2023, Month: 9, Day: 4
      ymd: 2023-09-04

http://cppreference.com 	   2024.06.10	   std::chrono...ar_month_day(3)

home | help