Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt einen Wochentag im gregorianischen Kalender dar. Beispiel: Dienstag.
Syntax
class weekday; // C++20
Hinweise
Ein weekday Wert kann einen Wert von [0, 255] enthalten, enthält jedoch in der Regel einen Wert [0, 6], um einen Tag der Woche darzustellen.
Siehe Weekday-Konstanten unten für Konstanten, die Sie mit der weekday Klasse verwenden können.
Mitglieder
| Name | Beschreibung |
|---|---|
| Konstruktoren | Erstellen Sie ein weekday. |
c_encoding |
Rufen Sie den weekday Wert ab. |
iso_encoding |
Rufen Sie den ISO 8601-Wert weekday ab. |
ok |
Überprüfen Sie, ob der weekday Wert gültig ist. |
operator++ |
Erhöhen Sie die weekday. |
operator+= |
Add the specified number of weekdays to this weekday. |
operator-- |
Decrement the weekday. |
operator-= |
Subtrahieren Sie die angegebene Anzahl von Wochentagen von diesem weekday. |
operator[] |
Erstellen Sie eine weekday_indexed oder weekday_last aus diesem weekday. |
Nicht-Member
| Name | Beschreibung |
|---|---|
from_stream |
Analysieren Eines weekday aus dem angegebenen Datenstrom mithilfe des angegebenen Formats. |
operator+ |
Add specified number of weekdays to this weekday. |
operator- |
Subtrahieren Sie die angegebene Anzahl von Wochentagen davon weekday, oder suchen Sie den Unterschied zwischen zwei weekday Objekten. |
operator== |
Bestimmen Sie, ob zwei weekday Objekte gleich sind. |
operator<< |
Ausgabe eines weekday Datenstroms. |
Anforderungen
Header: <chrono> seit C++20
Namespace:std::chrono
Compileroption: /std:c++latest
Konstruktoren
Erstellt ein Objekt vom Typ weekday.
1) weekday() = default; // C++20
2) explicit constexpr weekday(unsigned wd) noexcept; // C++20
3) constexpr weekday(const sys_days& dp) noexcept; // C++20
4) explicit constexpr weekday(const local_days& dp) noexcept; // C++20
Parameter
dp
Erstellen Sie einen weekday using the day of the week dp.
wd
Erstellen eines weekday mit Wert wd.
Hinweise
1) Der Standardkonstruktor initialisiert nicht den Wochentagwert.
2) Erstellen sie mit weekday dem angegebenen Wert.
Ist wd 7, wird der weekday Wert mit dem Wert 0 erstellt.
Initialisieren Sie nicht mit Werten über 255, oder das Ergebnis weekday hat einen nicht angegebenen Wert.
3) Berechnet, welcher Wochentag dem std::chrono::sys_days Wert dpentspricht, und erstellt einen weekday betreffenden Tag.
4) Berechnet den Wochentag, der dem std::chrono::local_days Wert dpentspricht, und erstellt einen weekday betreffenden Tag. Es verhält sich so, als ob Sie die weekday Verwendung weekday(std::chrono::sys_days(dp.time_since_epoch()))erstellt haben.
Beispiel: Erstellen einer weekday-Klasse
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
weekday wd{ Wednesday };
weekday wd2{ 3 };
std::cout << wd << '\n' << wd2;
return 0;
}
Wednesday
Wednesday
c_encoding
constexpr unsigned c_encoding() const noexcept;
Rückgabewert
Dies ist der Wert für den Wochentag.
iso_encoding
Der Wochentagswert, aber mit Sonntag (0) wird als 7 pro ISO 8601 interpretiert.
constexpr unsigned iso_encoding() const noexcept;
Rückgabewert
Dies ist der Wert für den Wochentag.
ok
Hiermit wird überprüft, ob der Wert, der in dieser weekday-Klasse gespeichert ist, im gültigen Bereich liegt.
constexpr bool is_leap() const noexcept;
Rückgabewert
true wenn sich der Wochentagswert im Bereich [0, 6] befindet. Andernfalls false.
operator++
Addieren Sie 1 zum Wochentagswert.
1) constexpr std::chrono::weekday& operator++() noexcept;
2) constexpr std::chrono::weekday operator++(int) noexcept;
Rückgabewert
1) Ein Verweis auf *this Wochentag , nachdem er erhöht wurde (ein Postfix-Inkrement).
2) Eine Kopie der weekday, bevor sie erhöht wurde (ein Präfix inkrementiert).
Beispiel: operator++
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std;
using namespace std::chrono;
int main()
{
std::chrono::weekday wd{Thursday};
std::cout << wd << " " << ++wd << "\n"; // constexpr weekday& operator++() noexcept
std::cout << wd << " " << wd++ << "\n"; // constexpr weekday operator++(int) noexcept
std::cout << wd << "\n";
return 0;
}
Thu Fri
Fri Fri
Sat
Hinweise
Der inkrementierte Wert ist Modulo 7. Er befindet sich immer im Bereich [0, 6].
operator--
Subtrahieren Sie 1 vom weekday Wert.
1) constexpr std::chrono::weekday& operator--() noexcept;
2) constexpr std::chrono::weekday operator--(int) noexcept;
Rückgabewert
1) Ein Verweis darauf *this weekday , nachdem er dekrementiert wurde (eine Postfix-Dekrementierung).
2) Eine Kopie der weekday vor ihr dekrementierten (Präfix-Dekrementierung).
Beispiel: operator--
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std;
using namespace std::chrono;
int main()
{
weekday y = weekday{Thursday};
cout << y << " " << --y << "\n"; // constexpr weekday& operator--() noexcept
cout << y << " " << y-- << "\n"; // constexpr weekday operator--(int) noexcept
cout << y << "\n";
return 0;
}
Thu Wed
Wed Wed
Tue
Hinweise
Wenn das dekrementierte Ergebnis kleiner als 0 ist, wird es auf 6 festgelegt.
operator+=
Hinzufügen von Tagen zu einem weekday.
constexpr weekday& operator+=(const days& d) noexcept;
Parameter
d
Die Anzahl zu addierender Tage.
Rückgabewert
Der Wert von *this + d. Das Ergebnis ist Modulo 7, im Bereich [0, 6].
operator-=
Subtrahieren von Tagen von der weekday.
constexpr weekday& operator-=(const days& d) noexcept;
Parameter
d
Die Anzahl der Tage, die subtrahiert werden sollen.
Rückgabewert
Der Wert von *this - d. Das Ergebnis ist Modulo 7, im Bereich [0, 6].
operator[]
Erstellen Sie eine weekday_indexed oder weekday_last aus diesem weekday.
1) std::chrono::weekday_indexed(*this, index) // C++20
2) std::chrono::weekday_last(*this) // C++20
Rückgabewert
1) std::chrono::weekday_indexed(*this, index)
2) std::chrono::weekday_last(*this)
Beispiel: operator[]
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std;
using namespace std::chrono;
int main()
{
constexpr auto firstMondayInJanuary =
year_month_day{ Monday[2] / January / 2021y };
std::cout << firstMondayInJanuary << "\n";
constexpr auto lastMondayInJanuary =
year_month_day{ Tuesday[last] / January / 2021y };
std::cout << lastMondayInJanuary << "\n";
}
2021-01-11
2021-01-26
Wochentagkonstanten
(C++20) Die <chrono> Kopfzeile definiert die folgenden Konstanten, mit denen Sie ihren Code einfacher, typsicherheit und wartungsfreundlicher verwenden weekday können. Diese Konstanten befinden sich im Bereich, wenn std::chrono sie sich im Bereich befinden.
// Calendrical constants
inline constexpr std::chrono::weekday Sunday{0};
inline constexpr std::chrono::weekday Monday{1};
inline constexpr std::chrono::weekday Tuesday{2};
inline constexpr std::chrono::weekday Wednesday{3};
inline constexpr std::chrono::weekday Thursday{4};
inline constexpr std::chrono::weekday Friday{5};
inline constexpr std::chrono::weekday Saturday{6};
Siehe auch
weekday_last-Klasse
weekday_indexed-Klasse
<chrono>
Headerdateienreferenz