Las funciones de fecha y hora C son un grupo de funciones en la biblioteca estándar del lenguaje de programación C que implementa operaciones de manipulación de fecha y hora. [1] Proporcionan soporte para la adquisición de tiempo , conversión entre formatos de fecha y salida formateada a cadenas.
Resumen de funciones
Las operaciones de fecha y hora de C se definen en el time.h
archivo dectime
encabezado ( encabezado en C ++ ).
Identificador | Descripción | |
---|---|---|
Manipulación del tiempo | difftime | calcula la diferencia en segundos entre dos time_t valores |
time | devuelve la hora actual del sistema como un time_t valor, número de segundos (que suele ser el tiempo desde una época , normalmente la época Unix ). El valor de la época depende del sistema operativo; 1900 y 1970 se utilizan a menudo. Consulte RFC 868. | |
clock | devuelve un recuento de ticks del procesador asociado con el proceso | |
timespec_get (C11) | devuelve una hora del calendario basada en una base de tiempo | |
Conversiones de formato | asctime | convierte un struct tm objeto en una representación textual (en desuso) |
ctime | convierte un time_t valor en una representación textual | |
strftime | convierte un struct tm objeto en una representación textual personalizada | |
wcsftime | convierte un struct tm objeto en una representación textual de cadena ancha personalizada | |
gmtime | convierte un time_t valor a la hora del calendario expresada como hora universal coordinada [2] | |
localtime | convierte un time_t valor a la hora del calendario expresada como hora local | |
mktime | convierte el tiempo del calendario en un time_t valor. | |
Constantes | CLOCKS_PER_SEC | número de tics del reloj del procesador por segundo |
TIME_UTC | base de tiempo para UTC | |
Tipos | struct tm | tipo de tiempo de calendario desglosado : año, mes, día, hora, minuto, segundo |
time_t | tipo de tiempo aritmético (típicamente tiempo desde la época) | |
clock_t | tipo de tiempo de ejecución del proceso | |
timespec | tiempo con segundos y nanosegundos |
Los timespec
tipos y relacionados fueron propuestos originalmente por Markus Kuhn para proporcionar una variedad de bases de tiempo, pero solo TIME_UTC
fue aceptado. [3] Sin embargo, las funcionalidades se agregaron a C ++ en 2020 en std :: chrono.
Ejemplo
El siguiente código fuente de C imprime la hora actual en el flujo de salida estándar .
#include #include #include int main ( vacío ) { time_t current_time ; char * c_time_string ; / * Obtener la hora actual. * / current_time = time ( NULL ); if ( current_time == (( time_t ) -1 )) { ( void ) fprintf ( stderr , "No se pudo obtener la hora actual. \ n " ); salir ( EXIT_FAILURE ); } / * Convertir a formato de hora local. * / C_time_string = ctime ( y CURRENT_TIME ); if ( c_time_string == NULL ) { ( void ) fprintf ( stderr , " Error al convertir la hora actual. \ n " ); salir ( EXIT_FAILURE ); } / * Imprimir en salida estándar. ctime () ya ha agregado un carácter de nueva línea de terminación. * / ( void ) printf ( "La hora actual es% s" , c_time_string ); salir ( EXIT_SUCCESS ); }
La salida es:
Hora actual es Jue 15 de septiembre 21:18:23 2016
Ver también
Referencias
- ^ Especificación ISO / IEC 9899: 1999 (PDF) . pag. 351, párrafo 7.32.2.
- ^ open-std.org - Borrador del Comité - 6 de mayo de 2005, página 355
- ^ Markus Kuhn. "API modernizada para ISO C" . cl.cam.ac.uk .