C++ Fecha y hora
La biblioteca estándar de C++ no proporciona ningún tipo de fecha como tal. C++ hereda las estructuras y funciones del lenguaje C para la manipulación de fechas y horas. Para usar las funciones y estructuras relacionadas con fecha y hora, es necesario incluir el archivo de encabezado <ctime> en un programa C++.
Hay cuatro tipos relacionados con el tiempo:clock_t、time_t、size_tytmLos tipos clock_t, size_t y time_t pueden representar la hora y la fecha del sistema como un tipo de entero.
Tipo de estructuratmGuarda la fecha y la hora en forma de una estructura de C. La definición de la estructura tm es la siguiente:
Las siguientes son funciones importantes de C/C++ relacionadas con la fecha y la hora. Todas estas funciones son parte de la biblioteca estándar de C/C++. Puede consultar los detalles de cada función en la biblioteca estándar de C++.
| N.º | Función y descripción |
|---|---|
| 1 | time_t time(time_t *time); Esta función devuelve la hora de calendario actual del sistema, como el número de segundos transcurridos desde el 1 de enero de 1970. Si el sistema no tiene hora, devuelve -1. |
| 2 | char *ctime(const time_t *time); Devuelve un puntero a una cadena cuyo contenido representa la hora local, con el formato: Www Mmm dd hh:mm:ss yyyy\n\0 donde:
Ejemplo de valor de retorno: "Tue Jul 29 19:12:15 2025\n\0" |
| 3 | struct tm *localtime(const time_t *time); Esta función devuelve un puntero a la estructuratmque representa la hora local. |
| 4 | clock_t clock(void); Esta función devuelve el tiempo de reloj del procesador utilizado desde el inicio de la ejecución del programa (generalmente el inicio del programa). Si el tiempo no está disponible, devuelve -1. |
| 5 | char * asctime ( const struct tm * time ); Esta función devuelve un puntero a una cadena que contiene la información almacenada en la estructura a la que apunta time. El formato de retorno es: day month date hours:minutes:seconds year\n\0. |
| 6 | struct tm *gmtime(const time_t *time); Esta función devuelve un puntero a time, siendo time una estructura tm, expresado en Tiempo Universal Coordinado (UTC), también conocido como Hora Media de Greenwich (GMT). |
| 7 | time_t mktime(struct tm *time); Esta función devuelve la hora de calendario equivalente a la hora almacenada en la estructura a la que apunta time. |
| 8 | double difftime ( time_t time2, time_t time1 ); Esta función devuelve el número de segundos de diferencia entre time1 y time2. |
| 9 | size_t strftime(); Esta función se puede utilizar para formatear la fecha y la hora en el formato especificado. |
Fecha y hora actuales
El siguiente ejemplo obtiene la fecha y la hora actuales del sistema, incluyendo la hora local y el Tiempo Universal Coordinado (UTC).
Ejemplo
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
本地日期和时间:Sat Jan 8 20:07:41 2011 UTC 日期和时间:Sun Jan 9 03:07:41 2011
Formatear la hora usando la estructura tm
tmLa estructura es especialmente importante en C/C++ al manejar operaciones relacionadas con fecha y hora. La estructura tm guarda la fecha y la hora en forma de estructura de C. La mayoría de las funciones relacionadas con el tiempo utilizan la estructura tm. El siguiente ejemplo utiliza la estructura tm y varias funciones relacionadas con fecha y hora.
Antes de practicar el uso de la estructura, es necesario tener un conocimiento básico de la estructura de C y saber cómo usar el operador de flecha -> para acceder a los miembros de la estructura.
Ejemplo
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
1970 到目前时间:1503564157 年: 2017 月: 8 日: 24 时间: 16:42:37Otras extensiones