std::chrono::year_month_day:: year_month_day
|
year_month_day
(
)
=
default
;
|
(1) | (seit C++20) |
|
constexpr
year_month_day
(
const
std::
chrono
::
year
&
y,
const
std::
chrono
::
month
&
m,
|
(2) | (seit C++20) |
|
constexpr
year_month_day
(
const
std::
chrono
::
year_month_day_last
&
ymdl
)
noexcept
;
|
(3) | (seit C++20) |
|
constexpr
year_month_day
(
const
std::
chrono
::
sys_days
&
dp
)
noexcept
;
|
(4) | (seit C++20) |
|
constexpr
explicit
year_month_day
(
const
std::
chrono
::
local_days
&
dp
)
noexcept
;
|
(5) | (seit C++20) |
Konstruiert ein
year_month_day
Objekt.
year_month_day
-Objekt, das das Jahr
y
, den Monat
m
und den Tag
d
speichert.
year_month_day
-Objekt, das das Jahr
ymdl.
year
(
)
, den Monat
ymdl.
month
(
)
und den Tag
ymdl.
day
(
)
speichert.
year_month_day
-Objekt, das dasselbe Datum repräsentiert wie das von
dp
dargestellte.
year_month_day
Objekt, das dasselbe Datum repräsentiert wie das durch
dp
dargestellte, als ob durch
year_month_day
(
sys_days
(
dp.
time_since_epoch
(
)
)
)
.
Konstruktoren (3,4) definieren implizite Konvertierungen von std::chrono::year_month_day_last und std::chrono::sys_days , jeweils.
Für jedes
year_month_day
-Objekt
ymd
, das ein gültiges Datum repräsentiert (
ymd.
ok
(
)
==
true
), ergibt die Konvertierung von
ymd
zu
sys_days
und zurück denselben Wert.
Hinweise
Ein
year_month_day
kann auch erstellt werden, indem man einen der partiellen Datumstypen
std::chrono::year_month
und
std::chrono::month_day
mit der fehlenden Komponente (Tag bzw. Jahr) mittels
operator
/
kombiniert.
Beispiel
#include <chrono> #include <iostream> int main() { using namespace std::chrono; constexpr auto ymd2 = std::chrono::year_month_day( 2020y, std::chrono::January, 31d // Überladung (2) ); std::cout << "ymd2: " << ymd2 << '\n'; constexpr auto ymd3 = std::chrono::year_month_day( std::chrono::April / std::chrono::Monday[last] / 2023y // Überladung (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) // Überladung (4) ); std::cout << "ymd4: " << ymd4 << '\n'; }
Mögliche Ausgabe:
ymd2: 2020-01-31 ymd3: 2023-04-24 ymd4: 2023-08-30
Siehe auch
|
(C++20)
|
Konventionelle Syntax zur Erstellung von Gregorianischen Kalenderdaten
(Funktion) |