Partager via


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 dayvaleur .
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 dayqui suit , en retournant un nouvel day objet.
operator- Soustrait le nombre spécifié de jours à partir de ce dayqui 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