close
The Wayback Machine - https://web.archive.org/web/20210506232641/https://es.cppreference.com/w/cpp/chrono
Espacios de nombres
Variantes
Acciones

Utilerías de fecha y hora

De cppreference.com
< cpp
 
 
 
Utilerías de fecha y hora
(C++11)
(C++11)
Hora del día
(C++20)



(C++20)(C++20)(C++20)(C++20)
Relojes
(C++20)
                                                  
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
Calendarios
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
Husos horarios
(C++20)
(C++20)
(C++20)
(C++20)
Fecha y hora estilo C
 

C++ incluye soporte para dos tipos de manipulación del tiempo:

  • La biblioteca chrono, una colección flexible de tipos que mantienen la noción del tiempo con distintos grados de precisión (p. ej., std::chrono::time_point).
  • La biblioteca de fecha y hora estilo C (p. ej., std::time)

Contenido

[editar] Biblioteca std::chrono

La biblioteca chrono define tres tipos principales, así como varias funciones de utilería y definiciones de tipo (typedefs) comunes.

  • relojes
  • puntos en el tiempo
  • duraciones

[editar] Relojes

Un reloj consiste de un punto de inicio (o época) y una frecuencia de tics. Por ejemplo, un reloj puede tener una época de enero 1, 1970, y marcar cada segundo. C++ define varios tipos de relojes:

Definido en el archivo de encabezado <chrono>
Definido en el espacio de nombres std::chrono
Tiempo de pared a partir del reloj de tiempo real a lo largo del sistema.
(clase) [editar]
Reloj monotónico que nunca será ajustado.
(clase) [editar]
El reloj con mayor precisión disponible en el sistema.
(clase) [editar]
Determina si un tipo es un Clock
(plantilla de clase) (plantilla de variables) [editar]
(C++20)
Clock para el Tiempo Universal Coordinado (TUC)
(clase) [editar]
(C++20)
Clock para el Tiempo Atómico Internacional (TAI)
(clase) [editar]
(C++20)
Clock para tiempo GPS
(clase) [editar]
Clock usado para el tiempo de archivo
(typedef) [editar]
(C++20)
Pesudoreloj que representa la hora local
(clase) [editar]

[editar] Punto de tiempo

Un punto de tiempo es una duración de tiempo que ha pasado desde la época de un reloj específico.

Definido en el archivo de encabezado <chrono>
Definido en el espacio de nombres std::chrono
Un punto de tiempo.
(plantilla de clase) [editar]
Clase de rasgos que define cómo convertir puntos de tiempo de un reloj a otro
(plantilla de clase) [editar]
Convierte puntos de tiempo de un reloj a otro
(plantilla de función) [editar]

[editar] Duración

Una duración consiste en un lapso de tiempo, definido como un número de tics de alguna unidad de tiempo. Por ejemplo, "42 segundos" podría representarse por una duración que consta de 42 tics de una unidad de tiempo de 1 segundo.

Definido en el archivo de encabezado <chrono>
Definido en el espacio de nombres std::chrono
(C++11)
Un intervalo de tiempo.
(plantilla de clase) [editar]

[editar] Hora del día

time_of_day divide una duración que representa el tiempo transcurrido desde la medianoche en horas, minutos, segundos y fracciones de segundo, según corresponda. Es principalmente una herramienta de formato.

Definido en el archivo de encabezado <chrono>
Definido en el espacio de nombres std::chrono
Representa una hora del día
(plantilla de clase) [editar]
Traduce entre un formato de hora del día de 12h/24h
(función) [editar]

[editar] Calendario

Definido en el archivo de encabezado <chrono>
Definido en el espacio de nombres std::chrono
(C++20)
Clase etiqueta que indica el último día o día de la semana de un mes
(clase) [editar]
(C++20)
Representa un día de un mes
(clase) [editar]
(C++20)
Representa un mes de un año
(clase) [editar]
(C++20)
Representa un año en el calendario gregoriano
(clase) [editar]
(C++20)
Representa un día de la semana en el calendario gregoriano
(clase) [editar]
Representa el enésimo día de la semana de un mes
(clase) [editar]
representa el último día de la semana de un mes
(clase) [editar]
(C++20)
Representa un día específico de un mes específico
(clase) [editar]
Representa el último día de un mes específico
(clase) [editar]
Representa el enésimo día de la semana de un mes específico
(clase) [editar]
Representa el último día de la semana de un mes específico
(clase) [editar]
Representa un mes específico de un año específico
(clase) [editar]
Representa un año, mes y día específicos
(clase) [editar]
Representa el último día de un año y mes específicos
(clase) [editar]
Representa el enésimo día de la semana de un año y mes específicos
(clase) [editar]
Representa el último día de la semana de un año y mes específicos
(clase) [editar]
(C++20)
Sintaxis convencional para la creación de fechas calendario gregorianas
(función) [editar]

[editar] Huso horario

Definido en el archivo de encabezado <chrono>
Definido en el espacio de nombres std::chrono
(C++20)
Describe una copia de la base de datos de husos horarios de IANA
(clase) [editar]
(C++20)
Representa una lista enlazada de bases de datos de husos horarios
(clase) [editar]
Accede a, y controla la información de la base de datos de husos horarios global
(función) [editar]
Localiza un huso horario basado en su nombre
(función) [editar]
Devuelve el huso horario actual
(función) [editar]
(C++20)
Representa un huso horario.
(clase) [editar]
(C++20)
Representa información acerca de un huso horario en un punto en el tiempo particular
(clase) [editar]
Representa información acerca la conversión de la hora local a la hora de UNIX
(clase) [editar]
(C++20)
Selecciona cómo debería resolverse una hora local ambigua
(enum) [editar]
Clase de rasgos para punteros a husos horarios usados por zoned_time
(plantilla de clase) [editar]
Representa un huso horario y un punto en el tiempo
(clase) [editar]
Contiene información sobre la inserción de un segundo intercalar (o segundo bisiesto)
(clase) [editar]
Representa una nombre alterno para un huso horario
(clase) [editar]
Excepción lanzada para reportar que un tiempo local no existe.
(clase) [editar]
Excepción lanzada para informar que un tiempo local es ambiguo.
(clase) [editar]

[editar] E/S de chrono

Definido en el archivo de encabezado <chrono>
Definido en el espacio de nombres std::chrono
(C++20)
Analiza un objeto chrono a partir de un flujo
(plantilla de función) [editar]

[editar] Biblioteca de C de fecha y hora

También se proporcionan las funciones de fecha y hora estilo C, tales como std::time_t, std::difftime, y CLOCKS_PER_SEC.

[editar] Ejemplo

Este ejemplo despliega información acerca del tiempo de ejecución de una llamada a función:

#include <iostream>
#include <chrono>
 
long fibonacci(unsigned n)
{
    if (n < 2) return n;
    return fibonacci(n-1) + fibonacci(n-2);
}
 
int main()
{
    auto start = std::chrono::steady_clock::now();
    std::cout << "f(42) = " << fibonacci(42) << '\n';
    auto end = std::chrono::steady_clock::now();
    std::chrono::duration<double> elapsed_seconds = end-start;
    std::cout << "tiempo transcurrido: " << elapsed_seconds.count() << "s\n";
}

Posible salida:

f(42) = 267914296
tiempo transcurrido: 1.88232s