Classe day
Rappresenta un giorno del mese. Ad esempio, il 25° giorno del mese.
Sintassi
class day; // C++20
Osservazioni:
In day
genere contiene valori nell'intervallo [1, 31]. Può contenere valori non negativi all'esterno di questo intervallo, ma il comportamento non è specificato se non è compreso nell'intervallo [0, 255].
Membri
Nome | Descrizione |
---|---|
Costruttori | Creare un oggetto day . |
ok |
Verificare che il valore del giorno sia compreso nell'intervallo valido [1,31]. |
operator++ |
Incrementare l'oggetto day . |
operator+= |
Aggiungere il numero specificato di giorni a questo day oggetto . |
operator-- |
Decrementare l'oggetto day . |
operator-= |
Sottrarre il numero specificato di giorni da questo day |
operator unsigned |
Ottiene il valore del giorno come intero senza segno. |
Membri non membri
Nome | Descrizione |
---|---|
from_stream |
Analizzare un oggetto day dal flusso specificato usando il formato specificato. |
operator+ |
Aggiungere il numero specificato di giorni a questo day oggetto , restituendo un nuovo day oggetto . |
operator- |
Sottrarre il numero specificato di giorni da questo day oggetto , restituendo un nuovo day oggetto . |
operator== |
Determinare se due day istanze sono uguali. |
operator<=> |
Confrontarlo day con un altro day oggetto . Gli >, >=, <=, <, != operatori vengono sintetizzati dal compilatore. |
operator<< |
Restituisce un oggetto day nel flusso specificato. |
operator""d |
Creare un day valore letterale per un giorno nel mese. |
Requisiti
Intestazione: <chrono>
(da C++20)
Spazio dei nomi: std::chrono
Opzione del compilatore: /std:c++latest
Costruttori
Costruisce un oggetto day
.
1) day() = default;
2) explicit constexpr day(unsigned d) noexcept;
Parametri
d
Costruire un day
oggetto con il valore d
.
Osservazioni:
1) Il costruttore predefinito non inizializza il valore del giorno.
2) Costruire un day
oggetto con il valore del giorno inizializzato in d
.
Esempio: Creare un oggetto 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
Controllare se il valore archiviato in questo day
intervallo è valido.
constexpr bool ok() const noexcept;
Valore restituito
true
se il valore del giorno è compreso nell'intervallo [1,31]. In caso contrario, false
.
operator++
Aggiungere 1 al valore del giorno.
1) constexpr std::chrono::day& operator++() noexcept;
2) constexpr std::chrono::day operator++(int) noexcept;
Valore restituito
1) Un riferimento a *this
day
dopo che è stato incrementato (un incremento del prefisso).
2) Una copia di , prima che day
sia stata incrementata (un incremento del prefisso).
Esempio: 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
Osservazioni:
Se il risultato incrementato non è compreso nell'intervallo [0, 255], il valore archiviato non è specificato.
operator--
Sottrarre 1 dal valore del giorno.
1) constexpr std::chrono::day& operator--() noexcept;
2) constexpr std::chrono::day operator--(int) noexcept;
Valore restituito
1) Un riferimento al *this
giorno dopo che è stato decrementato (decremento postfissi).
2) Una copia di , prima che *day
sia stata decrementata (decremento del prefisso).
Esempio: 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
Osservazioni:
Se il risultato decrementato non è compreso nell'intervallo [0, 255], il valore archiviato non è specificato.
operator+=
Aggiungere giorni a questo day
oggetto .
constexpr day& operator+=(const days& d) noexcept;
Parametri
d
Numero di giorni da aggiungere.
Valore restituito
*this
Se il risultato non rientra nell'intervallo [0, 255], il valore archiviato non è specificato.
operator-=
Sottrae i giorni da questo day
oggetto .
constexpr day& operator-=(const days& d) noexcept;
Parametri
d
Numero di giorni da sottrarre.
Valore restituito
*this
. Se il risultato non rientra nell'intervallo [0, 255], il valore archiviato non è specificato.
operator unsigned
Ottenere il day
valore.
explicit constexpr operator unsigned() const noexcept;
Valore restituito
Valore dell'oggetto day
Esempio: 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
Vedi anche
<chrono>
Classe month_day
Classe month_day_last
year_month_day
year_month_day_last
Riferimento file di intestazione