GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::chrono::year_month_day_last(3) C++ Standard Libary std::chrono::year_month_day_last(3)

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


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.


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)


specialization of std::formatter
std::formatter<std::chrono::year_month_day_last> that formats a year_month_day_last
(C++20) according to the provided format
(class template specialization)

// Run this code


#include <iostream>
#include <chrono>


// until online compiler supports streaming the year_month_day_last:
std::ostream& operator<< (std::ostream& os, std::chrono::year_month_day_last ymdl) {
return os << static_cast<int>(ymdl.year()) << '/'
<< static_cast<unsigned>(ymdl.month()) << '/'
<< static_cast<unsigned>(ymdl.day());
}


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


const std::chrono::year_month_day_last ymdl{
ymd.year(), ymd.month() / std::chrono::last
};
std::cout << "The date of the last day of this month is: " << ymdl << '\n';


// The `last` object can be places 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 and ymdl2 == ymdl3 );
}


The date of the last day of this month is: 2021/11/30


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

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.