Espacios de nombres
Variantes
Acciones

std::chrono::operator/ (calendar)

De cppreference.com
< cpp‎ | chrono
 
 
Biblioteca de servicios
 
 
Definido en el archivo de encabezado <chrono>
year_month
constexprauto operator/(conststd::chrono::year& y,

                          conststd::chrono::month& m )noexcept

    ->std::chrono::year_month;
(1) (desde C++20)
constexprauto operator/(conststd::chrono::year& y, int m )noexcept
    ->std::chrono::year_month;
(2) (desde C++20)
month_day
constexprauto operator/(conststd::chrono::month& m,

                          conststd::chrono::day& d )noexcept

    ->std::chrono::month_day;
(3) (desde C++20)
constexprauto operator/(conststd::chrono::month& m, int d )noexcept
    ->std::chrono::month_day;
(4) (desde C++20)
constexprauto operator/(int m, conststd::chrono::day& d )noexcept
    ->std::chrono::month_day;
(5) (desde C++20)
constexprauto operator/(conststd::chrono::day& d,

                          conststd::chrono::month& m )noexcept

   ->std::chrono::month_day;
(6) (desde C++20)
constexprauto operator/(conststd::chrono::day& d, int m )noexcept
    ->std::chrono::month_day;
(7) (desde C++20)
month_day_last
constexprauto operator/(conststd::chrono::month& m,

                         std::chrono::last_spec)noexcept

    ->std::chrono::month_day_last;
(8) (desde C++20)
constexprauto operator/(int m, std::chrono::last_spec)noexcept
    ->std::chrono::month_day_last;
(9) (desde C++20)
constexprauto operator/(std::chrono::last_spec,

                          conststd::chrono::month& m )noexcept

    ->std::chrono::month_day_last;
(10) (desde C++20)
constexprauto operator/(std::chrono::last_spec, int m )noexcept
    ->std::chrono::month_day_last;
(11) (desde C++20)
month_weekday
constexprauto operator/(conststd::chrono::month& m,

                          conststd::chrono::weekday_indexed& wdi )noexcept

    ->std::chrono::month_weekday;
(12) (desde C++20)
constexprauto operator/(int m, conststd::chrono::weekday_indexed& wdi )noexcept
    ->std::chrono::month_weekday;
(13) (desde C++20)
constexprauto operator/(conststd::chrono::weekday_indexed& wdi,

                          conststd::chrono::month& m )noexcept

    ->std::chrono::month_weekday;
(14) (desde C++20)
constexprauto operator/(conststd::chrono::weekday_indexed& wdi, int m )noexcept
    ->std::chrono::month_weekday;
(15) (desde C++20)
month_weekday_last
constexprauto operator/(conststd::chrono::month& m,

                          conststd::chrono::weekday_last& wdl )noexcept

    ->std::chrono::month_weekday_last;
(16) (desde C++20)
constexprauto operator/(int m, conststd::chrono::weekday_last& wdl )noexcept
    ->std::chrono::month_weekday_last;
(17) (desde C++20)
constexprauto operator/(conststd::chrono::weekday_last& wdl,

                          conststd::chrono::month& m )noexcept

    ->std::chrono::month_weekday_last;
(18) (desde C++20)
constexprauto operator/(conststd::chrono::weekday_last& wdl, int m )noexcept
    ->std::chrono::month_weekday_last;
(19) (desde C++20)
year_month_day
constexprauto operator/(conststd::chrono::year_month& ym,

                          conststd::chrono::day& d )noexcept

    ->std::chrono::year_month_day;
(20) (desde C++20)
constexprauto operator/(conststd::chrono::year_month& ym, int d )noexcept
    ->std::chrono::year_month_day;
(21) (desde C++20)
constexprauto operator/(conststd::chrono::year& y,

                          conststd::chrono::month_day& md )noexcept

    ->std::chrono::year_month_day;
(22) (desde C++20)
constexprauto operator/(int y, conststd::chrono::month_day& md )noexcept
    ->std::chrono::year_month_day;
(23) (desde C++20)
constexprauto operator/(conststd::chrono::month_day& md,

                          conststd::chrono::year& y )noexcept

    ->std::chrono::year_month_day;
(24) (desde C++20)
constexprauto operator/(conststd::chrono::month_day& md, int y )noexcept
    ->std::chrono::year_month_day;
(25) (desde C++20)
year_month_day_last
constexprauto operator/(conststd::chrono::year_month& ym,

                         std::chrono::last_spec)noexcept

    ->std::chrono::year_month_day_last;
(26) (desde C++20)
constexprauto operator/(conststd::chrono::year& y,

                          conststd::chrono::month_day_last& mdl )noexcept

    ->std::chrono::year_month_day_last;
(27) (desde C++20)
constexprauto operator/(int y, conststd::chrono::month_day_last& mdl )noexcept
    ->std::chrono::year_month_day_last;
(28) (desde C++20)
constexprauto operator/(conststd::chrono::month_day_last& mdl,

                          conststd::chrono::year& y )noexcept

    ->std::chrono::year_month_day_last;
(29) (desde C++20)
constexprauto operator/(conststd::chrono::month_day_last& mdl, int y )noexcept
    ->std::chrono::year_month_day_last;
(30) (desde C++20)
year_month_weekday
constexprauto operator/(conststd::chrono::year_month& ym,

                          conststd::chrono::weekday_indexed& wdi )noexcept

    ->std::chrono::year_month_weekday;
(31) (desde C++20)
constexprauto operator/(conststd::chrono::year& y,

                          conststd::chrono::month_weekday& mwd )noexcept

    ->std::chrono::year_month_weekday;
(32) (desde C++20)
constexprauto operator/(int y, conststd::chrono::month_weekday& mwd )noexcept
    ->std::chrono::year_month_weekday;
(33) (desde C++20)
constexprauto operator/(conststd::chrono::month_weekday& mwd,

                          conststd::chrono::year& y )noexcept

    ->std::chrono::year_month_weekday;
(34) (desde C++20)
constexprauto operator/(conststd::chrono::month_weekday& mwd, int y )noexcept
    ->std::chrono::year_month_weekday;
(35) (desde C++20)
year_month_weekday_last
constexprauto operator/(conststd::chrono::year_month& ym,

                          conststd::chrono::weekday_last& wdl )noexcept

    ->std::chrono::year_month_weekday_last;
(36) (desde C++20)
constexprauto operator/(conststd::chrono::year& y,

                          conststd::chrono::month_weekday_last& mwdl )noexcept

    ->std::chrono::year_month_weekday_last;
(37) (desde C++20)
constexprauto operator/(int y, conststd::chrono::month_weekday_last& mwdl )noexcept
    ->std::chrono::year_month_weekday_last;
(38) (desde C++20)
constexprauto operator/(conststd::chrono::month_weekday_last& mwdl,

                          conststd::chrono::year& y )noexcept

    ->std::chrono::year_month_weekday_last;
(39) (desde C++20)
constexprauto operator/(conststd::chrono::month_weekday_last& mwdl, int y )noexcept
    ->std::chrono::year_month_weekday_last;
(40) (desde C++20)

Estas sobrecargas de operator/ proporcionan una sintaxis convencional para la creación de fechas del Calendario gregoriano.

Para la creación de una fecha completa, se acepta cualquiera de los siguientes tres órdenes:

  • year/month/day
  • month/day/year
  • day/month/year.

En cada caso, day se puede reemplazar con uno de los siguientes:

  • std::chrono::last, para el último día del mes;
  • weekday[i], para el i-ésimo día de la semana del mes;
  • weekday[std::chrono::last], para el último día de la semana del mes.

Se acepta un entero simple si su significado es inequívoco de los tipos de otros operandos: se permite 2005y/4/5, pero no 5/April/2005.

Los tipos de fecha parcial (year_month, month_day, etc.) se pueden crear al no aplicar el segundo operator/ en ninguno de los tres órdenes.

[editar]Valor de retorno

20)std::chrono::year_month_day(ym.year(), ym.month(), d)
21)std::chrono::year_month_day(ym.year(), ym.month(), std::chrono::day(d))
22,24)std::chrono::year_month_day(y, md.month(), md.day())
23,25)std::chrono::year_month_day(std::chrono::year(y), md.month(), md.day())
31)std::chrono::year_month_weekday(ym.year(), ym.month(), wdi)
32,34)std::chrono::year_month_weekday(y, mwd.month(), mwd.weekday_indexed())
33,35)std::chrono::year_month_weekday(std::chrono::year(y), mwd.month(), mwd.weekday_indexed())
36)std::chrono::year_month_weekday_last(ym.year(), ym.month(), wdl)
37,39)std::chrono::year_month_weekday_last(y, mwdl.month(), mwdl.weekday_last())
38,40)std::chrono::year_month_weekday_last(std::chrono::year(y), mwdl.month(), mwdl.weekday_last())

[editar]Ejemplo

#include <iostream>#include <chrono>usingnamespace std::chrono;   int main(){std::cout<<std::boolalpha;   // El estándar proporciona 2021y como una opción para std::chrono::year(2021)// El estándar proporciona 15d como una opción para std::chrono::day(15)   constexprauto ym {year(2021)/8};std::cout<<(ym == year_month(year(2021), August))<<' ';   constexprauto md {9/day(15)};std::cout<<(md == month_day(September, day(15)))<<' ';   constexprauto mdl {October/last};std::cout<<(mdl == month_day_last(month(10)))<<' ';   constexprauto mw {11/Monday[3]};std::cout<<(mw == month_weekday(November, Monday[3]))<<' ';   constexprauto mwdl {December/Sunday[last]};std::cout<<(mwdl == month_weekday_last(month(12), weekday_last(Sunday)))<<' ';   // Esos tres órdenes año/mes/día que la gente actualmente usa en este planeta:constexprauto ymd {year(2021)/January/day(23)}; static_assert(ymd == month{1}/23/2021); static_assert(ymd == day{23}/1/2021);std::cout<<(ymd == year_month_day(2021y, month(January), 23d))<<'\n';}

Salida:

true true true true true true
close