Time tEl tipo de dato time_t es un tipo de dato de la biblioteca ISO-C definido para el almacenamiento de valores de tiempo del sistema. Estos valores se devuelven desde la función ImplementaciónUnix y los sistemas compatibles con POSIX, implementan time_t como un entero[1] (generalmente de 32 o 64 bits), que representa el número de segundos desde el inicio del tiempo Unix: la medianoche del 1 de enero de 1970 UTC (sin contar los segundos intercalares). Algunos sistemas manejan correctamente los valores negativos, mientras que otros no lo hacen. Los sistemas que utilizan un tipo time_t entero de 32 bits son susceptibles a los problemas del año 2038.[2] Además de la función time(), ISO-C también especifica otras funciones y tipos de conversión de sistema de valores de tiempo time_t en los tiempos del calendario y viceversa.
EjemploEl siguiente código en C devuelve la hora actual, le da formato de cadena, y lo escribe en la salida estándar. #include <stdio.h>
#include <time.h>
/*
* El resultado debe ser algo así como
* Fri 2008-08-22 15:21:59 WAST
*/
int main(void)
{
time_t now;
struct tm *ts;
char buf[80];
/* Obtener la hora actual */
now = time(0);
/* Formatear e imprimir el tiempo, "ddd yyyy-mm-dd hh:mm:ss zzz" */
ts = localtime(&now);
strftime(buf, sizeof(buf), "%a %Y-%m-%d %H:%M:%S %Z", ts);
printf("%s\n", buf);
return 0;
}
La conversión a la hora civilUsando GNU date, un valor dado $ date -ud@1234567890 Mon Oct 07 23:31:30 UTC 2016 Del mismo modo, usando BSD date: $ date -ur 1234567890 Mon Oct 07 23:31:30 UTC 2016 Véase tambiénReferencias
Enlaces externos
Information related to Time t |