名前空間
変種
操作

std::chrono::operator/ (カレンダー)

提供: cppreference.com
< cpp‎ | chrono
 
 
 
日付と時間のユーティリティ
(C++11)
(C++11)
時計
(C++20)
                                                  
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
カレンダー
(C++20)
(C++20)
(C++20)
(C++20)
operator/
(C++20)
タイムゾーン
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
C スタイルの日付と時間
 
year_month
constexpr auto operator/(const std::chrono::year& y,

                         const std::chrono::month& m) noexcept

    -> std::chrono::year_month;
(1) (C++20以上)
constexpr auto operator/(const std::chrono::year& y, int m) noexcept
    -> std::chrono::year_month;
(2) (C++20以上)
month_day
constexpr auto operator/(const std::chrono::month& m,

                         const std::chrono::day& d) noexcept

    -> std::chrono::month_day;
(3) (C++20以上)
constexpr auto operator/(const std::chrono::month& m, int d) noexcept
    -> std::chrono::month_day;
(4) (C++20以上)
constexpr auto operator/(int m, const std::chrono::day& d) noexcept
    -> std::chrono::month_day;
(5) (C++20以上)
constexpr auto operator/(const std::chrono::day& d,

                         const std::chrono::month& m) noexcept

   -> std::chrono::month_day;
(6) (C++20以上)
constexpr auto operator/(const std::chrono::day& d, int m) noexcept
    -> std::chrono::month_day;
(7) (C++20以上)
month_day_last
constexpr auto operator/(const std::chrono::month& m,

                         std::chrono::last_spec) noexcept

    -> std::chrono::month_day_last;
(8) (C++20以上)
constexpr auto operator/(int m, std::chrono::last_spec) noexcept
    -> std::chrono::month_day_last;
(9) (C++20以上)
constexpr auto operator/(std::chrono::last_spec,

                         const std::chrono::month& m) noexcept

    -> std::chrono::month_day_last;
(10) (C++20以上)
constexpr auto operator/(std::chrono::last_spec, int m) noexcept
    -> std::chrono::month_day_last;
(11) (C++20以上)
month_weekday
constexpr auto operator/(const std::chrono::month& m,

                         const std::chrono::weekday_indexed& wdi) noexcept

    -> std::chrono::month_weekday;
(12) (C++20以上)
constexpr auto operator/(int m, const std::chrono::weekday_indexed& wdi) noexcept
    -> std::chrono::month_weekday;
(13) (C++20以上)
constexpr auto operator/(const std::chrono::weekday_indexed& wdi,

                         const std::chrono::month& m) noexcept

    -> std::chrono::month_weekday;
(14) (C++20以上)
constexpr auto operator/(const std::chrono::weekday_indexed& wdi, int m) noexcept
    -> std::chrono::month_weekday;
(15) (C++20以上)
month_weekday_last
constexpr auto operator/(const std::chrono::month& m,

                         const std::chrono::weekday_last& wdl) noexcept

    -> std::chrono::month_weekday_last;
(16) (C++20以上)
constexpr auto operator/(int m, const std::chrono::weekday_last& wdl) noexcept
    -> std::chrono::month_weekday_last;
(17) (C++20以上)
constexpr auto operator/(const std::chrono::weekday_last& wdl,

                         const std::chrono::month& m) noexcept

    -> std::chrono::month_weekday_last;
(18) (C++20以上)
constexpr auto operator/(const std::chrono::weekday_last& wdl, int m) noexcept
    -> std::chrono::month_weekday_last;
(19) (C++20以上)
year_month_day
constexpr auto operator/(const std::chrono::year_month& ym,

                         const std::chrono::day& d) noexcept

    -> std::chrono::year_month_day;
(20) (C++20以上)
constexpr auto operator/(const std::chrono::year_month& ym, int d) noexcept
    -> std::chrono::year_month_day;
(21) (C++20以上)
constexpr auto operator/(const std::chrono::year& y,

                         const std::chrono::month_day& md) noexcept

    -> std::chrono::year_month_day;
(22) (C++20以上)
constexpr auto operator/(int y, const std::chrono::month_day& md) noexcept
    -> std::chrono::year_month_day;
(23) (C++20以上)
constexpr auto operator/(const std::chrono::month_day& md,

                         const std::chrono::year& y) noexcept

    -> std::chrono::year_month_day;
(24) (C++20以上)
constexpr auto operator/(const std::chrono::month_day& md, int y) noexcept
    -> std::chrono::year_month_day;
(25) (C++20以上)
year_month_day_last
constexpr auto operator/(const std::chrono::year_month& ym,

                         std::chrono::last_spec) noexcept

    -> std::chrono::year_month_day_last;
(26) (C++20以上)
constexpr auto operator/(const std::chrono::year& y,

                         const std::chrono::month_day_last& mdl) noexcept

    -> std::chrono::year_month_day_last;
(27) (C++20以上)
constexpr auto operator/(int y, const std::chrono::month_day_last& mdl) noexcept
    -> std::chrono::year_month_day_last;
(28) (C++20以上)
constexpr auto operator/(const std::chrono::month_day_last& mdl,

                         const std::chrono::year& y) noexcept

    -> std::chrono::year_month_day_last;
(29) (C++20以上)
constexpr auto operator/(const std::chrono::month_day_last& mdl, int y) noexcept
    -> std::chrono::year_month_day_last;
(30) (C++20以上)
year_month_weekday
constexpr auto operator/(const std::chrono::year_month& ym,

                         const std::chrono::weekday_indexed& wdi) noexcept

    -> std::chrono::year_month_weekday;
(31) (C++20以上)
constexpr auto operator/(const std::chrono::year& y,

                         const std::chrono::month_weekday& mwd) noexcept

    -> std::chrono::year_month_weekday;
(32) (C++20以上)
constexpr auto operator/(int y, const std::chrono::month_weekday& mwd) noexcept
    -> std::chrono::year_month_weekday;
(33) (C++20以上)
constexpr auto operator/(const std::chrono::month_weekday& mwd,

                         const std::chrono::year& y) noexcept

    -> std::chrono::year_month_weekday;
(34) (C++20以上)
constexpr auto operator/(const std::chrono::month_weekday& mwd, int y) noexcept
    -> std::chrono::year_month_weekday;
(35) (C++20以上)
year_month_weekday_last
constexpr auto operator/(const std::chrono::year_month& ym,

                         const std::chrono::weekday_last& wdl) noexcept

    -> std::chrono::year_month_weekday_last;
(36) (C++20以上)
constexpr auto operator/(const std::chrono::year& y,

                         const std::chrono::month_weekday_last& mwdl) noexcept

    -> std::chrono::year_month_weekday_last;
(37) (C++20以上)
constexpr auto operator/(int y, const std::chrono::month_weekday_last& mwdl) noexcept
    -> std::chrono::year_month_weekday_last;
(38) (C++20以上)
constexpr auto operator/(const std::chrono::month_weekday_last& mwdl,

                         const std::chrono::year& y) noexcept

    -> std::chrono::year_month_weekday_last;
(39) (C++20以上)
constexpr auto operator/(const std::chrono::month_weekday_last& mwdl, int y) noexcept
    -> std::chrono::year_month_weekday_last;
(40) (C++20以上)

これらの operator/ のオーバーロードは、グレゴリオ暦のカレンダー日付を作成するための便利な構文を提供します。

完全な日付を作成するためには、以下の3つの順序がどれでも受理されます。

  • year/month/day
  • month/day/year
  • day/month/year

いずれの場合においても、 day は以下のいずれかに置き換えることができます。

  • std::chrono::last —— その月の最後の日を表します。
  • weekday[i] —— その月の i 回目の weekday 曜日を表します。
  • weekday[std::chrono::last] —— その月の最後の weekday 曜日を表します。

他の引数の型から、その意味が曖昧でなければ、プレーンな整数も受理されます。 例えば、 2005y/4/5 は可ですが、 5/April/2005 は不可です。

3つの順序のいずれかにおいて、2番目の operator/ を適用しないことによって、部分日付型 (year_monthmonth_day など) を作成できます。

[編集] 戻り値

1) std::chrono::year_month(y, m)
2) std::chrono::year_month(y, std::chrono::month(m))
3,6) std::chrono::month_day(m, d)
4) std::chrono::month_day(m, std::chrono::day(d))
5,7) std::chrono::month_day(std::chrono::month(m), d)
8,10) std::chrono::month_day_last(m)
9,11) std::chrono::month_day_last(std::chrono::month(m))
12,14) std::chrono::month_weekday(m, wdi)
13,15) std::chrono::month_weekday(std::chrono::month(m), wdi)
16,18) std::chrono::month_weekday_last(m, wdl)
17,19) std::chrono::month_weekday_last(std::chrono::month(m), wdl)
20) std::chrono::year_month_day(ym.year(), ym.month(), d)
21) std::chrono::year_month_day(ym.year(), ym.month(), std::chrono::day(d))
22,24) std::chrono::year_month_day(y, md.month(), md.day())
23,25) std::chrono::year_month_day(std::chrono::year(y), md.month(), md.day())
26) std::chrono::year_month_day_last(ym.year(), std::chrono::month_day_last(ym.month()))
27,29) std::chrono::year_month_day_last(y, mdl)
28,30) std::chrono::year_month_day_last(std::chrono::year(y), mdl)
31) std::chrono::year_month_weekday(ym.year(), ym.month(), wdi)
32,34) std::chrono::year_month_weekday(y, mwd.month(), mwd.weekday_indexed())
33,35) std::chrono::year_month_weekday(std::chrono::year(y), mwd.month(), mwd.weekday_indexed())
36) std::chrono::year_month_weekday_last(ym.year(), ym.month(), wdl)
37,39) std::chrono::year_month_weekday_last(y, mwdl.month(), mwdl.weekday_last())
38,40) std::chrono::year_month_weekday_last(std::chrono::year(y), mwdl.month(), mwdl.weekday_last())

[編集]