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

NAME
     std::chrono::year_month_day_last - std::chrono::year_month_day_last

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

	The class year_month_day_last represents the last day of a specific year
     and month.
	It  is a field-based time point, with a resolution of std::chrono::days,
     subject to
	the limit that it can only represent the last day of a month.

	std::chrono::years- and std::chrono::months-oriented arithmetic are sup-
     ported
	directly. An implicit conversion to std::chrono::sys_days allows
	std::chrono::days-oriented arithmetic to be performed efficiently.

	year_month_day_last is a TriviallyCopyable StandardLayoutType.

Member functions
	constructor	    constructs a year_month_day_last object
			    (public member function)
	operator+=	    modifies the time point by some number of months  or
     years
	operator-=	    (public member function)
	year
	month		    accesses the fields of this object
	day		    (public member function)
	month_day_last
	operator sys_days   converts to a std::chrono::time_point
	operator local_days (public member function)
	ok		    checks whether this object represents a valid date
			    (public member function)

	Nonmember functions

	operator==  compares two year_month_day_last values
	operator<=> (function)
	(C++20)
	operator+    adds  or subtracts a year_month_day_last and some number of
     years or
	operator-   months
	(C++20)     (function)
	operator<<  outputs a year_month_day_last into a stream
	(C++20)     (function template)

Helper classes
							 formatting support for
	std::formatter<std::chrono::year_month_day_last> year_month_day_last
	(C++20) 					  (class  template  spe-
     cialization)

	std::hash<std::chrono::year_month_day_last>	 hash support for
	(C++26)
     std::chrono::year_month_day_last
							 (class   template  spe-
     cialization)

Example
     // Run this code

      #include <chrono>
      #include <iostream>

      int main()
      {
	  const auto ymd = std::chrono::year_month_day
	  {
	      std::chrono::floor<std::chrono::days>(std::chrono::sys-
     tem_clock::now())
	  };

	  const std::chrono::year_month_day_last ymdl
	  {
	      ymd.year(), ymd.month() / std::chrono::last
	  };

	  std::cout << "The last day of present month (" << ymdl << ") is: "
		    << std::chrono::year_month_day{ymdl}.day() << '\n';

	  // The 'last' object can be placed wherever it is  legal  to	place  a
     'day':
	  using namespace std::chrono;
	  constexpr std::chrono::year_month_day_last
	      ymdl1 = 2023y / February / last,
	      ymdl2 = last / February / 2023y,
	      ymdl3 = February / last / 2023y;
	  static_assert(ymdl1 == ymdl2 && ymdl2 == ymdl3);
      }

Possible output:
      The last day of present month (2023/Aug/last) is: 31

See also
	year_month_day represents a specific year, month, and day
	(C++20)        (class)

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

home | help