- Time t
-
El 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
time()de la biblioteca estándar. Este tipo es un typedef definido en la cabecera <time.h> . ISO-C define time_t como un tipo aritmético, pero no especifica ningun rango, resolución, o codificación en particular de la misma. Tampoco especifica los significados de las operaciones aritméticas aplicadas a los valores de tiempo.Contenido
Implementación
Unix y los sistemas compatibles con POSIX, implementan time_t como un entero o real de coma flotante.[1] (generalmente entero 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.
Ejemplo
El 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 civil
Usando GNU date, un valor dado
time_tse puede convertir en su equivalente en la fecha del calendario:$ date -ud@1234567890 Fri Feb 13 23:31:30 UTC 2009
Del mismo modo, usando BSD date:
$ date -ur 1234567890 Fri Feb 13 23:31:30 UTC 2009
Véase también
- Biblioteca estándar de C
- Reloj de tiempo real
- Tiempo de sistema
- tiempo Unix
- Problema del año 2038
Referencias
- ↑ The Open Group Base Specifications Issue 7 sys/types.h. Retrieved on 2009-02-13.
- ↑ The Year 2038 problem, Roger M. Wilcox. Retrieved on 2011-03-11.
- Este artículo fue creado a partir de la traducción del artículo time_t de la Wikipedia en inglés, bajo licencia Creative Commons Atribución Compartir Igual 3.0 y GFDL.
Categorías:- Unix
- Escalas de tiempo
Wikimedia foundation. 2010.