Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::chrono::operator+,std::chrono::operator-(std::chrono::year_month_day)

      From cppreference.com
      <cpp‎ |chrono‎ |year month day
       
       
      Date and time library
       
       
      Defined in header<chrono>
      constexprstd::chrono::year_month_day operator+(conststd::chrono::year_month_day& ymd,

                                                       conststd::chrono::months& dm

                                                     )noexcept;
      (since C++20)
      constexprstd::chrono::year_month_day operator+(conststd::chrono::months& dm,

                                                       conststd::chrono::year_month_day& ymd

                                                     )noexcept;
      (since C++20)
      constexprstd::chrono::year_month_day operator+(conststd::chrono::year_month_day& ymd,

                                                       conststd::chrono::years& dy

                                                     )noexcept;
      (since C++20)
      constexprstd::chrono::year_month_day operator+(conststd::chrono::years& dy,

                                                       conststd::chrono::year_month_day& ymd

                                                     )noexcept;
      (since C++20)
      constexprstd::chrono::year_month_day operator-(conststd::chrono::year_month_day& ymd,

                                                       conststd::chrono::months& dm

                                                     )noexcept;
      (since C++20)
      constexprstd::chrono::year_month_day operator-(conststd::chrono::year_month_day& ymd,

                                                       conststd::chrono::years& dy

                                                     )noexcept;
      (since C++20)
      1,2) Addsdm.count() months to the date represented byymd. The result has the sameday() asymd and the sameyear() andmonth() asstd::chrono::year_month(ymd.year(), ymd.month())+ dm.
      3,4) Addsdy.count() years to the date represented byymd. The result is equivalent tostd::chrono::year_month_day(ymd.year()+ dy, ymd.month(), ymd.day().
      5) Subtractsdm.count() months from the date represented byymd. Equivalent toymd+-dm.
      6) Subtractsdy.count() years from the date represented byymd. Equivalent toymd+-dy.

      For durations that are convertible to bothstd::chrono::years andstd::chrono::months, theyears overloads(3,4,6) are preferred if the call would otherwise be ambiguous.

      [edit]Notes

      Even ifymd.ok() istrue, the resultingyear_month_day may not represent a valid date ifymd.day() is 29, 30, or 31.

      [edit]Example

      Run this code
      #include <chrono>#include <iostream> int main(){std::cout<<std::boolalpha; auto ymd{std::chrono::day(1)/std::chrono::July/2021};     ymd= ymd+std::chrono::months(4);std::cout<<(ymd.month()==std::chrono::November)<<' '<<(ymd.year()==std::chrono::year(2021))<<' ';     ymd= ymd-std::chrono::years(10);std::cout<<(ymd.month()==std::chrono::month(11))<<' '<<(ymd.year()==std::chrono::year(2011))<<'\n';}

      Output:

      true true true true
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/chrono/year_month_day/operator_arith_2&oldid=157547"

      [8]ページ先頭

      ©2009-2025 Movatter.jp