Classe day
Représente un jour du mois. Par exemple, le 25e jour du mois.
Syntaxe
class day; // C++20
Notes
Une day
valeur contient normalement des valeurs dans la plage [1, 31]. Il peut contenir des valeurs non négatives en dehors de cette plage, mais le comportement n’est pas spécifié s’il n’est pas dans la plage [0, 255].
Membres
Nom | Description |
---|---|
Constructeurs | Construisez un day . |
ok |
Vérifiez que la valeur de jour se trouve dans la plage valide [1,31]. |
operator++ |
Incrémentez cette day valeur . |
operator+= |
Ajoutez le nombre de jours spécifié à ce day . |
operator-- |
Décrémentez le day . |
operator-= |
Soustraire le nombre spécifié de jours à partir de ce day |
operator unsigned |
Obtenez la valeur de jour en tant qu’entier non signé. |
Non-membres
Nom | Description |
---|---|
from_stream |
Analysez une day valeur à partir du flux donné à l’aide du format spécifié. |
operator+ |
Ajoutez le nombre de jours spécifié à ce day qui suit , en retournant un nouvel day objet. |
operator- |
Soustrait le nombre spécifié de jours à partir de ce day qui suit , en retournant un nouvel day objet. |
operator== |
Déterminez si deux day instances sont égales. |
operator<=> |
Comparez-le day à un autre day . Les >, >=, <=, <, != opérateurs sont synthétisés par le compilateur. |
operator<< |
Sortie d’un day flux donné. |
operator""d |
Créez un day littéral pour un jour dans le mois. |
Spécifications
En-tête : <chrono>
(depuis C++20)
Espace de noms : std::chrono
Option du compilateur : /std:c++latest
Constructeurs
Construit un objet day
.
1) day() = default;
2) explicit constexpr day(unsigned d) noexcept;
Paramètres
d
Construisez une day
valeur avec la valeur d
.
Notes
1) Le constructeur par défaut n’initialise pas la valeur de jour.
2) Construisez une day
valeur de jour initialisée sur d
.
Exemple : Créer un day
// 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
Vérifiez si la valeur stockée dans cette day
plage est valide.
constexpr bool ok() const noexcept;
Valeur retournée
true
si la valeur du jour se trouve dans la plage [1,31]. Sinon, false
.
operator++
Ajoutez 1 à la valeur de jour.
1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;
Valeur retournée
1) Référence à une *this
day
fois qu’elle a été incrémentée (incrément de postfix).
2) Copie du day
, avant d’être incrémentée (incrément de préfixe).
Exemple : 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
Notes
Si le résultat incrémenté est hors de la plage [0, 255], la valeur stockée n’est pas spécifiée.
operator--
Soustrait 1 de la valeur de jour.
1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;
Valeur retournée
1) Référence au *this
jour suivant sa décrémentation (décrémentation postfixée).
2) Copie du *day
, avant de décrémenter (décrémentation de préfixe).
Exemple : 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
Notes
Si le résultat décrémenté est hors de la plage [0, 255], la valeur stockée n’est pas spécifiée.
operator+=
Ajoutez des jours à ce day
.
constexpr day& operator+=(const days& d) noexcept;
Paramètres
d
Nombre de jours à ajouter.
Valeur retournée
*this
Si le résultat est en dehors de la plage [0, 255], la valeur stockée n’est pas spécifiée.
operator-=
Soustraire les jours de ce day
.
constexpr day& operator-=(const days& d) noexcept;
Paramètres
d
Nombre de jours à soustraire.
Valeur retournée
*this
. Si le résultat est en dehors de la plage [0, 255], la valeur stockée n’est pas spécifiée.
operator unsigned
Obtenez la day
valeur.
explicit constexpr operator unsigned() const noexcept;
Valeur retournée
La valeur de day
Exemple : 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
Voir aussi
<chrono>
month_day
, classe
month_day_last
, classe
year_month_day
year_month_day_last
Informations de référence sur les fichiers d’en-tête