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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour