title: Time.h
text: # 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.
  
  # Time.h
  ## 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). |
  
  # Time.h
  ## 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 |
  
  # Time.h
  ## 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) |
  
  # Time.h
  ## Tipos de datos
  ### 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 |