std::chrono:: year_month_day_last
From cppreference.net
|
ヘッダーで定義
<chrono>
|
||
|
class
year_month_day_last
;
|
(C++20以降) | |
year_month_day_last
クラスは、特定の年と月の最終日を表します。これはフィールドベースの時間点であり、解像度は
std::chrono::days
で、月の最終日のみを表現できるという制限があります。
std::chrono::years および std::chrono::months を対象とした演算が直接サポートされています。 std::chrono::sys_days への暗黙的な変換により、 std::chrono::days を対象とした演算を効率的に実行できます。
year_month_day_last
は
TriviallyCopyable
StandardLayoutType
です。
目次 |
メンバー関数
year_month_day_last
オブジェクトを構築する
(public member function) |
|
|
月数または年数分だけ時間点を変更する
(public member function) |
|
|
このオブジェクトのフィールドにアクセスする
(public member function) |
|
|
std::chrono::time_point
に変換する
(public member function) |
|
|
このオブジェクトが有効な日付を表しているかチェックする
(public member function) |
非メンバー関数
|
(C++20)
|
2つの
year_month_day_last
値を比較する
(関数) |
|
(C++20)
|
year_month_day_last
と年数または月数を加算または減算する
(関数) |
|
(C++20)
|
year_month_day_last
をストリームに出力する
(関数テンプレート) |
ヘルパークラス
year_month_day_lastのフォーマットサポート
year_month_day_last
(クラステンプレートの特殊化) |
|
|
std::chrono::year_month_day_last
のハッシュサポート
(クラステンプレートの特殊化) |
例
このコードを実行
#include <chrono> #include <iostream> int main() { const auto ymd = std::chrono::year_month_day { std::chrono::floor<std::chrono::days>(std::chrono::system_clock::now()) }; const std::chrono::year_month_day_last ymdl { ymd.year(), ymd.month() / std::chrono::last }; std::cout << "現在の月の最終日 (" << ymdl << ") は: " << std::chrono::year_month_day{ymdl}.day() << '\n'; // 'last' オブジェクトは 'day' を配置できる場所であればどこにでも配置可能: using namespace std::chrono; constexpr std::chrono::year_month_day_last ymdl1 = 2023y / February / last, ymdl2 = last / February / 2023y, ymdl3 = February / last / 2023y; static_assert(ymdl1 == ymdl2 && ymdl2 == ymdl3); }
出力例:
現在の月の最終日 (2023/Aug/last) は: 31
関連項目
|
(C++20)
|
特定の
year
、
month
、および
day
を表現する
(クラス) |