月の日を表します。 たとえば、月の 25 日などです。
構文
class day; // C++20
注釈
通常、 day
は [1, 31] の範囲の値を保持します。 この範囲外の負でない値を保持することもできますが、範囲 [0, 255] 内にない場合、動作は指定されません。
メンバー
名前 | 説明 |
---|---|
コンス トラクター |
day を構築します。 |
ok |
日の値が有効な範囲 [1,31] にあることを確認します。 |
operator++ |
この day をインクリメントします。 |
operator+= |
指定した日数をこの day に追加します。 |
operator-- |
day をデクリメントします。 |
operator-= |
この日数から指定した日数を減算します。 day |
operator unsigned |
日の値を符号なし整数として取得します。 |
非メンバー
名前 | 説明 |
---|---|
from_stream |
指定した形式を使用して、指定されたストリームの day を解析します。 |
operator+ |
この day に指定した日数を追加し、新しい day オブジェクトを返します。 |
operator- |
この day から指定した日数を減算し、新しい day オブジェクトを返します。 |
operator== |
2 つの day インスタンスが等しいかどうかを判断します。 |
operator<=> |
この day を別の day と比較します。
>, >=, <=, <, != 演算子はコンパイラによって合成されます。 |
operator<< |
指定されたストリームに day を出力します。 |
operator""d |
月の 1 日の day リテラルを作成します。 |
要求事項
Header:<chrono>
(C++20 以降)
Namespace:std::chrono
コンパイラ オプション:/std:c++latest
コンストラクター
day
を構築します。
1) day() = default;
2) explicit constexpr day(unsigned d) noexcept;
パラメーター
d
値day
を使用してd
を構築します。
注釈
1) 既定のコンストラクターは、日の値を初期化しません。
2) day
に初期化された日の値を持つd
を構築します。
例: day
を作成する
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
day d{1}; // day 1
day d2 = 2d; // day 2
std::cout << d << ", " << d2;
return 0;
}
01, 02
ok
この day
に格納された値の範囲が有効であるかを確認します。
constexpr bool ok() const noexcept;
戻り値
true
日の値が [1,31] の範囲内にある場合。 それ以外の場合は false
。
operator++
日の値に 1 を追加します。
1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;
戻り値
1) *this
day
がインクリメントされた後 (後置インクリメント) への参照。
2) インクリメントされるday
ののコピー (プレフィックスの増分)。
例: operator++
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
day d{1};
std::cout << d << " " << ++d << "\n"; // constexpr day& operator++() noexcept
std::cout << d << " " << d++ << "\n"; // constexpr day operator++(int) noexcept
std::cout << d;
return 0;
}
01 02
02 02
03
注釈
インクリメントされた結果が [0, 255] の範囲外の場合、格納された値は指定されていません。
operator--
日の値から 1 を減算します。
1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;
戻り値
1) デクリメント後の*this
日への参照 (後置デクリメント)。
2) デクリメントされる*day
ののコピー (プレフィックスのデクリメント)。
例: operator--
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
int main()
{
day d{5};
std::cout << d << " " << --d << "\n"; // constexpr day& operator--() noexcept
std::cout << d << " " << d-- << "\n"; // constexpr day operator--(int) noexcept
std::cout << d << "\n";
return 0;
}
05 04
04 04
03
注釈
デクリメントされた結果が [0, 255] の範囲外の場合、格納された値は指定されていません。
operator+=
この day
に日数を追加します。
constexpr day& operator+=(const days& d) noexcept;
パラメーター
d
追加する日数。
戻り値
*this
結果が [0, 255] の範囲外の場合、格納された値は指定されていません。
operator-=
この day
から日数を減算します。
constexpr day& operator-=(const days& d) noexcept;
パラメーター
d
減算する日数。
戻り値
*this
。 結果が [0, 255] の範囲外の場合、格納された値は指定されていません。
operator unsigned
day
値を取得します。
explicit constexpr operator unsigned() const noexcept;
戻り値
の値 day
例: operator unsigned()
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
int main()
{
chrono::day d{14d};
unsigned dayValue = static_cast<unsigned>(d);
cout << dayValue << "\n";
return 0;
}
14
こちらも参照ください
<chrono>
month_day
クラス
month_day_last
クラス
year_month_day
year_month_day_last
ヘッダー ファイル リファレンス