Time.h
# Time.h

time.h relacionado con formato de hora y fecha es un archivo de cabecera de la biblioteca estándar del lenguaje de programación C que contiene funciones para manipular y formatear la fecha y hora del sistema.

## Funciones

| Nombre | Descripción |
| - | - |
| char * asctime(struct tm *) | Recibe una variable de tipo puntero a estructura tm (struct tm*) y devuelve una cadena de caracteres cuyo formato es: "Www Mmm dd hh:mm:ss yyyy\n" (ej: Tue May 15 19:07:04 2008\n) |
| clock_t clock (void) | Devuelve el número de pulsos de reloj desde que se inició el proceso. |
| char * ctime(time_t *) | Recibe una variable de tipo puntero a time_t (time t*) y devuelve una cadena con el mismo formato que asctime |
| double difftime(time_t, time t) | Recibe dos variables de tipo time_t, calcula su diferencia y devuelve el resultado (double) expresado en segundos. |
| struct tm *gmtime(time_t *) | Recibe un puntero a una variable de tiempo (time_t*) y devuelve su conversión como fecha/hora UTC a struct tm a través de un puntero. |
| struct tm *localtime(time_t *) | Similar funcionalidad a gmtime, pero devuelve la conversión como fecha/hora LOCAL. |
| time_t mktime(struct_tm *) | Inversamente a gmtime y localtime,l recibe un puntero a struct tm (struct tm*) y devuelve su conversión al tipo time t. |
| time_t time(time_t *) | Devuelve la fecha/hora (time_t) actual o -1 en caso de no ser posible. Si el argumento que se le pasa no es NULL, también asigna la fecha/hora actual a dicho argumento. |
| size_t strftime(char *,size_t,char *,struct tm *) | Formatea la información pasada mediante la estructura (struct tm*) mediante el formato indicado en una cadena (char*) e imprime el resultado sobre otra cadena (char*) hasta un límite de caracteres (size_t). |

## Constantes

| Nombre | Descripción |
| - | - |
| CLK_PER_SEC | Constante que define el número de pulsos de reloj por segundo; usado por la función clock |
| CLOCKS_PER_SEC | nombre alternativo para CLK_PER_SEC usado en su lugar en algunas bibliotecas |
| CLK_TCK | usualmente una macro para CLK_PER_SEC |

## Tipos de datos

| Nombre | Descripción |
| - | - |
| clock_t | tipo de dato devuelto por clock, generalmente un long int |
| time t | tipo de dato devuelto por time, generalmente un long int |
| struct tm | representación del tiempo en formato de calendario (fecha/hora) |

### Fecha (día/hora) de calendario

La fecha de calendario se representa como la estructura struct tm, que consta de los siguientes atributos:

| Atributo | Descripción |
| - | - |
| int tm_hour | hora (0 - 23) |
| int tm_isdst | Horario de verano enabled/disabled |
| int tm_mday | día del mes (1 - 31) |
| int tm_min | minutos (0 - 59) |
| int tm_mon | mes (0 - 11, 0 = Enero) |
| int tm_sec | segundos (0 - 60) |
| int tm_wday | día de la semana (0 - 6, 0 = domingo) |
| int tm_yday | día del año (0 - 365) |
| int tm_year | año desde 1900 |
