std::chrono::year_month_day:: year_month_day
|
year_month_day
(
)
=
default
;
|
(1) | (C++20以降) |
|
constexpr
year_month_day
(
const
std::
chrono
::
year
&
y,
const
std::
chrono
::
month
&
m,
|
(2) | (C++20以降) |
|
constexpr
year_month_day
(
const
std::
chrono
::
year_month_day_last
&
ymdl
)
noexcept
;
|
(3) | (C++20以降) |
|
constexpr
year_month_day
(
const
std::
chrono
::
sys_days
&
dp
)
noexcept
;
|
(4) | (C++20以降) |
|
constexpr
explicit
year_month_day
(
const
std::
chrono
::
local_days
&
dp
)
noexcept
;
|
(5) | (C++20以降) |
year_month_day
オブジェクトを構築します。
year_month_day
オブジェクトを構築し、年
y
、月
m
、日
d
を格納します。
year_month_day
オブジェクトを構築し、年
ymdl.
year
(
)
、月
ymdl.
month
(
)
、日
ymdl.
day
(
)
を格納します。
year_month_day
オブジェクトを構築し、これは
dp
によって表される日付と同じ日付を表します。
year_month_day
オブジェクトを構築し、これは
dp
によって表される日付と同じ日付を表します。これは、以下のようにして行われます:
year_month_day
(
sys_days
(
dp.
time_since_epoch
(
)
)
)
。
コンストラクタ (3,4) は、それぞれ std::chrono::year_month_day_last および std::chrono::sys_days からの暗黙変換を定義します。
有効な日付を表す任意の
year_month_day
オブジェクト
ymd
(
ymd.
ok
(
)
==
true
) について、
ymd
を
sys_days
に変換し、再度元に戻すと同じ値が得られます。
注記
year_month_day
は、部分的な日付型である
std::chrono::year_month
と
std::chrono::month_day
のいずれかを、欠落している要素(それぞれ日と年)と組み合わせることで作成することもできます。この組み合わせには
operator
/
を使用します。
例
#include <chrono> #include <iostream> int main() { using namespace std::chrono; constexpr auto ymd2 = std::chrono::year_month_day( 2020y, std::chrono::January, 31d // オーバーロード (2) ); std::cout << "ymd2: " << ymd2 << '\n'; constexpr auto ymd3 = std::chrono::year_month_day( std::chrono::April / std::chrono::Monday[last] / 2023y // オーバーロード (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) // オーバーロード (4) ); std::cout << "ymd4: " << ymd4 << '\n'; }
出力例:
ymd2: 2020-01-31 ymd3: 2023-04-24 ymd4: 2023-08-30
関連項目
|
(C++20)
|
グレゴリオ暦の日付作成における従来の構文
(関数) |