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, como
time(),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 a
time_tConvertir el tiempo de tipotma la estructura:struct tm *tm = localtime(&t);
-
va a
time_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 <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.