| std::chrono::year_month_day::year_month_day(3) | C++ Standard Libary | std::chrono::year_month_day::year_month_day(3) | 
NAME¶
std::chrono::year_month_day::year_month_day - std::chrono::year_month_day::year_month_day
Synopsis¶
 year_month_day() = default; (1) (since C++20)
  
   constexpr year_month_day( const std::chrono::year& y,
  
   const std::chrono::month& m, (2) (since C++20)
  
   const std::chrono::day& d ) noexcept;
  
   constexpr year_month_day( const std::chrono::year_month_day_last&
    (3) (since C++20)
  
   ymdl ) noexcept;
  
   constexpr year_month_day( const std::chrono::sys_days& dp ) (4)
    (since C++20)
  
   noexcept;
  
   constexpr explicit year_month_day( const std::chrono::local_days&
    (5) (since C++20)
  
   dp ) noexcept;
  
   Constructs a year_month_day object.
  
   1) Default constructor leaves the date uninitialized.
  
   2) Constructs a year_month_day object that stores the year y, month m and day
    d.
  
   3) Constructs a year_month_day object that stores the year ymdl.year(), month
  
   ymdl.month() and day ymdl.day().
  
   4) Constructs a year_month_day object that represent the same date as the one
  
   represented by dp.
  
   5) Constructs a year_month_day object that represent the same date as the one
  
   represented by dp, as if by
  year_month_day(sys_days(dp.time_since_epoch())).
  
   Constructors (3,4) define implicit conversions from
    std::chrono::year_month_day_last
  
   and std::chrono::sys_days, respectively.
  
   For any year_month_day object ymd representing a valid date (ymd.ok() ==
    true),
  
   converting ymd to sys_days and back yields the same value.
Notes¶
 A year_month_day can also be created by combining one of the
    partial-date types
  
   std::chrono::year_month and std::chrono::month_day with the missing component
    (day
  
   and year, respectively) using operator/.
Example¶
// Run this code
  
   #include <chrono>
  
   #include <iostream>
  
   int main()
  
   {
  
   using namespace std::chrono;
  
   constexpr auto ymd2 = std::chrono::year_month_day(
  
   2020y, std::chrono::January, 31d // overload (2)
  
   );
  
   std::cout << "ymd2: " << ymd2 << '\n';
  
   constexpr auto ymd3 = std::chrono::year_month_day(
  
   std::chrono::April / std::chrono::Monday[last] / 2023y // overload (3)
  
   );
  
   std::cout << "ymd3: " << ymd3 << '\n';
  
   const auto now = std::chrono::system_clock::now();
  
   const auto ymd4 = std::chrono::year_month_day(
  
   std::chrono::floor<std::chrono::days>(now) // overload (4)
  
   );
  
   std::cout << "ymd4: " << ymd4 << '\n';
  
   }
Possible output:¶
 ymd2: 2020-01-31
  
   ymd3: 2023-04-24
  
   ymd4: 2023-08-30
See also¶
 operator/ conventional syntax for Gregorian calendar date
    creation
  
   (C++20) (function)
| 2024.06.10 | http://cppreference.com |