Classe year
Représente une année dans le calendrier grégorien.
Syntaxe
class year; // C++20
Notes
Un year
peut contenir une valeur d’année comprise entre -32767 et 32767.
Membres
Nom | Description |
---|---|
Constructeurs | Construire un year |
is_leap |
Déterminez si l’année est une année bissextile. |
max |
Retourne la plus grande valeur d’année possible. |
min |
Retourne la plus petite valeur d’année possible. |
ok |
Vérifiez que la valeur de l’année se trouve dans la plage valide [-32767, 32767]. |
operator+ |
Unaire plus. |
operator++ |
Incrémentez l’année. |
operator+= |
Ajoutez le nombre d’années spécifié à ce year . |
operator- |
Moins unaire. |
operator-- |
Décrémentez l’année. |
operator-= |
Soustrait le nombre spécifié d’années à partir de ce year . |
operator int |
Obtenez la year valeur. |
Non-membres
Nom | Description |
---|---|
from_stream |
Analyser un year flux à partir d’un flux à l’aide du format spécifié |
operator+ |
Ajouter des années. |
operator- |
Soustraire des années. |
operator== |
Déterminez si deux ans sont égaux. |
operator<=> |
Comparez-le year à un autre year . Les >, >=, <=, <, != opérateurs sont synthétisés par le compilateur. |
operator<< |
Sortie d’un year flux donné. |
operator""y |
Créez un year littéral. |
Spécifications
En-tête :<chrono>
(depuis C++20)
Espace de noms :std::chrono
Option du compilateur :/std:c++latest
Constructeurs
Construisez un year
.
1) year() = default;
2) explicit constexpr year(unsigned y) noexcept;
Paramètres
y
Construisez une year
valeur avec la valeur y
.
Notes
1) Le constructeur par défaut n’initialise pas la year
valeur.
2) Construisez une year
valeur avec la valeur spécifiée.
Exemple : Créer un year
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year y{2020};
year y2 = 2021y;
std::cout << y << ", " << y2;
return 0;
}
2020, 2021
is_leap
Vérifiez si la valeur stockée dans cette year
plage est valide.
constexpr bool is_leap() const noexcept;
Valeur retournée
true
si la valeur de l’année est une année bissextile. Sinon, false
.
Une année bissextile est une année divisible de 4, mais pas 100- ou est divisible de 400.
max
Retourne la plus grande année possible.
static constexpr year max() noexcept;
Valeur retournée
year{32767}
min
Retourne la plus petite année possible.
static constexpr year min() noexcept;
Valeur retournée
year{-32767}
ok
Vérifiez si la valeur stockée dans cette year
plage est valide.
constexpr bool ok() const noexcept;
Valeur retournée
true
si la valeur de l’année se trouve dans la plage [-32676, 32767]. Sinon, false
.
operator+
Appliquez unaire plus.
constexpr year operator+() const noexcept;
Valeur retournée
Retourne *this
.
Exemple : unaire operator+
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year y{-1};
std::cout << +y;
return 0;
}
-0001
operator++
Ajoutez 1 à la valeur de l’année.
1) constexpr year& operator++() noexcept;
2) constexpr year operator++(int) noexcept;
Valeur retournée
1) Renvoie la référence à cette année après son incrémentation (incrément postfix).
2) Retourne une copie du year
, 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()
{
year y{2021};
std::cout << y << " " << ++y << "\n"; // constexpr year& operator++() noexcept
std::cout << y << " " << y++ << "\n"; // constexpr year operator++(int) noexcept
std::cout << y << "\n";
return 0;
}
2021 2022
2022 2022
2023
Notes
Si le résultat incrémenté dépasse 32767, il dépasse -32768
operator-
Moins unaire. Negatez le year
.
constexpr year operator-() const noexcept; // C++20
Valeur retournée
Retourne une copie négation du year
.
Exemple : unaire operator-
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year y{1977};
std::cout << -y << '\n';
return 0;
}
-1977
operator--
Soustrait 1 de la valeur de l’année.
1) constexpr year& operator--() noexcept;
2) constexpr year operator--(int) noexcept;
Valeur retournée
1) Référence à ceci year
après sa décrémentation (décrémentation postfixée).
2) Copie de la year
version antérieure à la décrémentation (décrémentation de préfixe).
Exemple : operator--
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year y{2021};
std::cout << y << " " << --y << "\n"; // constexpr year& operator++() noexcept
std::cout << y << " " << y-- << "\n"; // constexpr year operator++(int) noexcept
std::cout << y << "\n";
return 0;
}
2021 2020
2020 2020
2019
Notes
Si le résultat décrémenté est inférieur à -32768, il est défini sur 32767.
operator+=
Ajoutez des jours à ce year
.
constexpr year& operator+=(const years& y) noexcept;
Paramètres
y
Nombre d’années à ajouter.
Valeur retournée
*this
Si le résultat incrémenté dépasse 32767, il dépasse -32768.
operator-=
Soustraire les jours de ce year
.
constexpr year& operator-=(const years& y) noexcept;
Paramètres
y
Nombre d’années à soustraire.
Valeur retournée
*this
. Si le résultat décrémenté est inférieur à -32768, il est défini sur 32767.
operator int
Obtenez la year
valeur.
explicit constexpr operator int() const noexcept;
Valeur retournée
La valeur de year
Exemple : operator int()
// compile using: /std:c++latest
#include <iostream>
#include <chrono>
using namespace std::chrono;
int main()
{
year y{2020};
int yearValue = static_cast<int>(y);
std::cout << yearValue;
return 0;
}
2020
Voir aussi
<chrono>
year_month
year_month_day
year_month_day_last
year_month_weekday
year_month_weekday_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