miércoles, 29 de enero de 2014

¿Qué es el Tiempo Unix, o Unix Time?

En pocas palabras el Tiempo Unix no es más que los segundos transcurridos desde las 12 de la media noche del 1ro de Enero de 1970. Al ser del estándar POSIX, es muy conocido en sistemas Unix y de su tipo como GNU/Linux.

Lo podemos ver en muchos archivos de logs del sistema, como por ejemplo el access.log de Squid Proxy Cache. Por lo que la mayor parte del tiempo que lidiamos con este tipo de logs debemos pasarlo por un script de perl u otro lenguaje para convertirlo a un formato human readable o entendible por nosotros.

El Tiempo Unix presenta varios inconvenientes propios de su implementación. Uno de ellos es que no toma en cuenta los segundos intercalares (o segundos bisiestos), que son unos segundos que se agregan cada cierto tiempo para mantener los estándares de tiempo sincronizados con los calendarios civiles de base astronómica. Esto le hace imposible representar las 23:59:60 del 31 de diciembre de 1998, un segundo intercalar agregado ese año.

Otro inconveniente lo es el hecho de que el Tiempo Unix utiliza un entero de 32 bits con signo, representando así un rango de números entre -2.147.483.648 y 2.147.483.647. Por ende, se piensa que cuando alcance el último segundo representable en positivo y pase al siguiente, se desbordará saltando al valor -2.147.483.648 y los sistemas que lo utilizan creerán que están en 1901. A esto se le conoce como "El problema del año 2038.


Para ver la fecha actual en Tiempo Unix de tu sistema, teclea el siguiente comando:
[fraterneo@rainbow ~]$ watch -n1 date +%s

O también puedes hacer clic aquí para ver el tiempo actual en Tiempo Unix

Más información:
http://es.wikipedia.org/wiki/Tiempo_Unix
http://es.wikipedia.org/wiki/Problema_del_a%C3%B1o_2038
http://es.wikipedia.org/wiki/Segundo_intercalar
http://www.esqsoft.com/javascript_examples/date-to-epoch.htm

1 comentario:

  1. se sabe como solucionaran el problema 2038 algo asi ya paso en el 2000

    ResponderEliminar