Biblioteca estándar de C++<ctime>

La biblioteca estándar de C++ ofrece una gran cantidad de funciones, entre las que se encuentra<ctime>una de las bibliotecas estándar para el manejo de tiempo y fechas. Proporciona un conjunto de funciones para obtener la hora actual, la fecha y realizar cálculos relacionados con el tiempo.

<ctime>La biblioteca define un conjunto de funciones y tipos relacionados con el tiempo, que permiten al programador manejar el tiempo en los programas. Incluye:

  • time_t: representa el tipo de tiempo, normalmente un entero largo.
  • tm: una estructura que se utiliza para representar las distintas partes del tiempo, como año, mes, día, hora, etc.
  • una serie de funciones, comotime(), localtime(), gmtime(), strftime()etc.

Sintaxis

A continuación se muestra<ctime>la sintaxis básica de algunas funciones de uso común en la biblioteca:

  • Obtener la hora actual (en segundos, calculada desde el 1 de enero de 1970):

    time_t t = time(NULL);
  • va atime_tConvertir el tiempo de tipotma la estructura:

    struct tm *tm = localtime(&t);
  • va atime_tConvertir el tiempo de tipo a latmestructura de Tiempo Universal Coordinado (UTC):

    struct tm *tm_utc = gmtime(&t);
  • Formatear la hora:

    char buffer[80];
    strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", tm);

Ejemplo

A continuación se muestra un sencillo ejemplo que utiliza<ctime>la biblioteca, mostrando cómo obtener la hora actual y formatear la salida.

Ejemplo

#include <iostream>
#include <ctime>
#include <iomanip>
#include <sstream>

int main() {
    // Obtener la hora actual
    time_t now = time(NULL);

    // Convertir la hora actual a hora local
    struct tm *local_tm = localtime(&now);

    // Usar strftime para formatear la hora
    char buffer[80];
    strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", local_tm);

    // Imprimir la hora actual
    std::cout << "Current local time: " << buffer << std::endl;

    // Convertir la hora actual a hora UTC
    struct tm *utc_tm = gmtime(&now);

    // Formatear la hora UTC
    strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", utc_tm);

    // Imprimir la hora UTC
    std::cout << "Current UTC time: " << buffer << std::endl;

    return 0;
}

Al ejecutar el programa anterior, verás una salida similar a la siguiente (la hora específica depende de cuándo ejecutes el programa):

Current local time: 2023-04-01 12:34:56
Current UTC time: 2023-04-01 12:34:56

Ten en cuenta que, debido a las diferencias de zona horaria, la hora local y la hora UTC pueden ser iguales o diferentes.

<ctime>La biblioteca es una herramienta importante en C++ para manejar el tiempo y las fechas. A través del ejemplo anterior, podemos ver cómo usar<ctime>la biblioteca para obtener y formatear la hora actual. Esto es muy útil al desarrollar aplicaciones que necesitan información de tiempo, como el registro de logs, tareas programadas, etc. Espero que este artículo ayude a los principiantes a comprender y usar mejor<ctime>la biblioteca.

Otras extensiones