Espacios de nombres
Variantes
Acciones

Utilerías de fecha y hora

De cppreference.com
< cpp
 
 
Biblioteca de servicios
 
Utilerías de fecha y hora
 

C++ incluye apoyo 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 de 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 1 de enero de 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)
Pseudoreloj que representa la hora local.
(clase) [editar]

[editar] Punto de tiempo

Un punto de tiempo es una duración de tiempo que ha transcurrido 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
(C++20)
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] Zona horaria

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 zonas horarias de IANA.
(clase) [editar]
(C++20)
Representa una lista enlazada de bases de datos de zonas horarias.
(clase) [editar]
Accede a, y controla la información de la base de datos de zonas horarias global.
(función) [editar]
Localiza una zona horaria basado en su nombre.
(función) [editar]
Devuelve la zona horaria actual.
(función) [editar]
(C++20)
Representa una zona horaria.
(clase) [editar]
(C++20)
Representa información acerca de una zona horaria 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 zonas horarias usadas por zoned_time.
(plantilla de clase) [editar]
Representa una zona horaria y un punto en el tiempo.
(clase) [editar]
Contiene información sobre la inserción de un segundo intercalar (o segundo bisiesto).
(clase) [editar]
Información de inserción del segundo intercalar.
(clase) [editar]
Obtiene información de inserción del segundo intercalar de un objeto utc_time.
(plantilla de función) [editar]
Representa una nombre alterno para una zona horaria.
(clase) [editar]
Excepción lanzada para reportar que una hora local no existe.
(clase) [editar]
Excepción lanzada para informar que una hora local es ambigua.
(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] Notas

Macro de Prueba de característica
__cpp_lib_chrono
(para la biblioteca std::chrono)

[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 muestra 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