Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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
       supported
	  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
       specialization)

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

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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::chrono::year_month_day_last&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help