Clase year
Representa un año en el calendario gregoriano.
Sintaxis
class year; // C++20
Comentarios
Un year
puede contener un valor de año entre -32767 y 32767.
Miembros
Nombre | Descripción |
---|---|
Constructores | Construyen un elemento year |
is_leap |
Determine si el año es un año bisiesto. |
max |
Devuelve el valor de año más grande posible. |
min |
Devuelve el valor de año más pequeño posible. |
ok |
Compruebe que el valor del año esté en el intervalo válido [-32767, 32767]. |
operator+ |
Unario más. |
operator++ |
Incrementa el año. |
operator+= |
Suma el número especificado de años a este year . |
operator- |
Unario menos. |
operator-- |
Disminuye el año. |
operator-= |
Resta el número especificado de años de este year . |
operator int |
Obtiene el valor de year . |
No miembros
Nombre | Descripción |
---|---|
from_stream |
Analiza un year desde la secuencia especificada con el formato especificado |
operator+ |
Agrega años. |
operator- |
Resta años. |
operator== |
Determina si dos años son iguales. |
operator<=> |
Compara este elemento year con otro elemento year . El compilador sintetiza los operadores >, >=, <=, <, != . |
operator<< |
Genera un elemento year en la secuencia especificada. |
operator""y |
Crear un year literal. |
Requisitos
Encabezado: <chrono>
(desde C++20)
Espacio de nombres: std::chrono
Opción del compilador: /std:c++latest
Constructores
Construya un elemento year
.
1) year() = default;
2) explicit constexpr year(unsigned y) noexcept;
Parámetros
y
Construye un objeto year
con el valor y
.
Comentarios
1) El constructor predeterminado no inicializa el valor year
.
2) Construye un objeto year
con los valores especificados.
Ejemplo: Creación de un objeto 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
Compruebe si el valor almacenado en esta instancia de year
se encuentra en el intervalo válido.
constexpr bool is_leap() const noexcept;
Valor devuelto
true
si el valor del año es bisiesto. En caso contrario, es false
.
Un año bisiesto es un año divisible por 4, pero no 100--o es divisible por 400.
max
Devuelve el año más grande posible.
static constexpr year max() noexcept;
Valor devuelto
year{32767}
min
Devuelve el año más pequeño posible.
static constexpr year min() noexcept;
Valor devuelto
year{-32767}
ok
Compruebe si el valor almacenado en esta instancia de year
se encuentra en el intervalo válido.
constexpr bool ok() const noexcept;
Valor devuelto
true
si el valor del año está en el rango [-32676, 32767]. En caso contrario, es false
.
operator+
Aplicar unario más.
constexpr year operator+() const noexcept;
Valor devuelto
Devuelve *this
Ejemplo: operator+
unario
// 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++
Agregue 1 al valor del año.
1) constexpr year& operator++() noexcept;
2) constexpr year operator++(int) noexcept;
Valor devuelto
1) Devuelve una referencia a este año después de que se haya incrementado (un incremento postfijo).
2) Devuelve una copia de year
, antes de que se incrementara (un incremento prefijo).
Ejemplo: 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
Comentarios
Si el resultado incrementado supera 32767, se desborda a -32768
operator-
Unario menos. Niega el objeto year
.
constexpr year operator-() const noexcept; // C++20
Valor devuelto
Devuelve una copia negada de year
.
Ejemplo: operator-
unario
// 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--
Resta 1 del valor de año.
1) constexpr year& operator--() noexcept;
2) constexpr year operator--(int) noexcept;
Valor devuelto
1) Una referencia a esto year
después de que se haya decrementado (un postfijo decremento).
2) Una copia del antes de year
que se haya decrementado (un prefijo decremento).
Ejemplo: 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
Comentarios
Si el resultado reducido es menor que -32768, se establece en 32767.
operator+=
Suma días a este year
.
constexpr year& operator+=(const years& y) noexcept;
Parámetros
y
Número de años que se van a agregar.
Valor devuelto
*this
si el resultado incrementado supera 32767, se desborda a -32768.
operator-=
Resta días de este elemento year
.
constexpr year& operator-=(const years& y) noexcept;
Parámetros
y
Número de años que se va a restar.
Valor devuelto
*this
. Si el resultado reducido es menor que -32768, se establece en 32767.
operator int
Obtiene el valor de year
.
explicit constexpr operator int() const noexcept;
Valor devuelto
El valor de year
Ejemplo: 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
Consulte también
<chrono>
year_month
year_month_day
year_month_day_last
year_month_weekday
year_month_weekday_last
Referencia de archivos de encabezado