day
-Klasse
Stellt einen Tag des Monats dar. Beispielsweise der 25. Tag des Monats.
Syntax
class day; // C++20
Hinweise
Normalerweise enthält ein day
Wert im Bereich [1, 31]. Es kann nicht negative Werte außerhalb dieses Bereichs enthalten, aber das Verhalten ist nicht angegeben, wenn es nicht innerhalb des Bereichs [0, 255] liegt.
Mitglieder
Name | Beschreibung |
---|---|
Konstruktoren | Erstellen Sie ein day . |
ok |
Stellen Sie sicher, dass sich der Tagwert im gültigen Bereich [1,31] befindet. |
operator++ |
Erhöhen Sie diesen day Wert. |
operator+= |
Add the specified number of days to this day . |
operator-- |
Decrement the day . |
operator-= |
Subtrahieren der angegebenen Anzahl von Tagen davon day |
operator unsigned |
Rufen Sie den Tageswert als ganze Zahl ohne Vorzeichen ab. |
Nicht-Member
Name | Beschreibung |
---|---|
from_stream |
Analysieren Eines day aus dem angegebenen Datenstrom mithilfe des angegebenen Formats. |
operator+ |
Add specified number of days to this day , returning a new day object. |
operator- |
Subtrahieren Sie die angegebene Anzahl von Tagen davon day , wobei ein neues day Objekt zurückgegeben wird. |
operator== |
Hiermit wird bestimmt, ob zwei day -Instanzen gleich sind. |
operator<=> |
Vergleichen Sie dies day mit einem anderen day . Die >, >=, <=, <, != Operatoren werden vom Compiler synthetisiert. |
operator<< |
Gibt einen day an den angegebenen Datenstrom aus. |
operator""d |
Erstellen Sie ein day Literal für einen Tag im Monat. |
Anforderungen
Header: <chrono>
(seit C++20)
Namespace:std::chrono
Compileroption: /std:c++latest
Konstruktoren
Erstellt ein Objekt vom Typ day
.
1) day() = default;
2) explicit constexpr day(unsigned d) noexcept;
Parameter
d
Erstellen eines day
mit Wert d
.
Hinweise
1) Der Standardkonstruktor initialisiert nicht den Tagwert.
2) Erstellen Sie einen day
mit dem Tagwert initialisiert in d
.
Beispiel: Erstellen einer day
-Klasse
// 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
Hiermit wird überprüft, ob der Wert, der in dieser day
-Klasse gespeichert ist, im gültigen Bereich liegt.
constexpr bool ok() const noexcept;
Rückgabewert
true
wenn sich der Tagwert im Bereich [1,31] befindet. Andernfalls false
.
operator++
Addieren Sie 1 zum Tageswert.
1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;
Rückgabewert
1) Ein Verweis darauf *this
day
, nachdem er erhöht wurde (ein Postfix-Inkrement).
2) Eine Kopie der day
, bevor sie erhöht wurde (ein Präfix inkrementiert).
Beispiel: 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
Hinweise
Wenn das inkrementierte Ergebnis außerhalb des Bereichs [0, 255] liegt, ist der gespeicherte Wert nicht angegeben.
operator--
Subtrahieren Sie 1 vom Tagwert.
1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;
Rückgabewert
1) Ein Verweis auf *this
einen Tag , nachdem er dekrementiert wurde (eine Postfix-Dekrementierung).
2) Eine Kopie der *day
, bevor sie dekrementiert wurde (präfix decrement).
Beispiel: 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
Hinweise
Wenn das dekrementierte Ergebnis außerhalb des Bereichs [0, 255] liegt, ist der gespeicherte Wert nicht angegeben.
operator+=
Fügen Sie dieser day
Datei Tage hinzu.
constexpr day& operator+=(const days& d) noexcept;
Parameter
d
Die Anzahl zu addierender Tage.
Rückgabewert
*this
Wenn sich das Ergebnis außerhalb des Bereichs [0, 255] befindet, ist der gespeicherte Wert nicht angegeben.
operator-=
Subtrahieren Sie Tage von diesem day
.
constexpr day& operator-=(const days& d) noexcept;
Parameter
d
Die Anzahl der Tage, die subtrahiert werden sollen.
Rückgabewert
*this
. Wenn sich das Ergebnis außerhalb des Bereichs [0, 255] befindet, ist der gespeicherte Wert nicht angegeben.
operator unsigned
Rufen Sie den day
Wert ab.
explicit constexpr operator unsigned() const noexcept;
Rückgabewert
Der Wert des day
Beispiel: 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
Siehe auch
<chrono>
month_day
-Klasse
month_day_last
-Klasse
year_month_day
year_month_day_last
Headerdateienreferenz