¿Qué es el tiempo Epoch en tu PC y cómo afecta a lo que haces?

¿Qué es el tiempo Epoch en tu PC y cómo afecta a lo que haces?

Rodrigo Alonso

Los ordenadores solo pueden interpretar unos y ceros, y en eso se basa todo lo que sucede en ellos. Por este motivo, es complicado para cualquier PC interpretar las fechas en términos de año, mes y día, motivo por el que se creó el concepto de tiempo Epoch. En este artículo vamos a explicaros qué es el tiempo Epoch en vuestros ordenadores, para qué se usa y en qué influye.

Una fecha es una fecha porque tiene un inicio. Por ejemplo, el calendario gregoriano empieza en el año cero y nos lleva hasta el año actual, 2020, pero esta «cuenta» es así porque tiene un punto de partida. Para un ordenador, si no se establece igualmente un punto de partida, sería imposible poder interpretar una fecha determinada, ¿no es así? Para solucionar este problema se creó el tiempo Epoch.

¿Qué es el tiempo Epoch (Epoch time)?

El tiempo Epoch es una magnitud que proporciona a la fecha del ordenador un valor numérico expresado en segundos, así como un punto de partida desde el que empezar a contar. De esta manera, los PCs pueden interpretar las fechas como magnitudes legibles y calculables.

Tiempo Epoch

En el diccionario inglés, «Epoch» se define como un instante de tiempo considerado como punto de partida para un periodo o evento en particular. En informática, el tiempo Epoch se refiere al punto de partida utilizado para calcular el número de segundos transcurridos desde ese punto de partida y hasta el momento actual, de manera que se pueda calcular la fecha y hora exactas.

El tiempo Epoch en los sistemas operativos

Como decíamos, este tiempo es un punto de partida utilizado para calcular la fecha, pero cada sistema operativo lo ha establecido de una manera diferente. Mientras que en el mundo real el tiempo Epoch se establece a las 00:00:00 UTC (donde UTC es el tiempo universal coordinado), en los sistemas operativos se establece de la siguiente manera:

  • MacOS (Apple): comienza el 1 de enero de 1904.
  • Microsoft Windows: comienza el 1 de enero de 1601.
  • UNIX y distribuciones Linux: comienza el 1 de enero de 1970. Esta fecha también se conoce como «UNIX time».

Como podéis ver, el tiempo Epoch es por lo tanto un valor arbitrario que se ha establecido según han querido en cada caso, no es algo estándar o universal sino simplemente una manera de hacer que el ordenador interprete la fecha y la hora. En el caso del UNIX time, fue establecido por Dennis Ritchie y Ken Thompson (los creadores de UNIX) en la década de los 60.

Cómo se utiliza y qué problemas conlleva

El tiempo UNIX se almacena como un valor entero con signo de 32 bits. A medida que trascurre cada segundo, el valor va aumentando en consonancia y eventualmente se ha calculado que alcanzará su límite el 19 de enero de 2038 a las 03:14:07. En ese momento el valor de 32 bits se desbordará y volverá a comenzar el 13 de diciembre de 1901; cuando eso suceda, se interrumpirán numerosas actividades con límite de tiempo, como licencias de software, copias de seguridad, etc. Esto se conoce como «problema del año 2038», algo parecido al famoso «efecto 2000».

Para el año 2038, se espera que ya todos los ordenadores sean de 64 bits (recordemos que el tiempo Epoch está almacenado en un valor de 32 bits) y ese problema no exista.

Sin embargo hay un dato curioso, pues hace no mucho Youtube sufrió una situación similar a tenor del éxito que cobró el popular vídeo Gangnam Style de Psy. Youtube almacenaba (hasta ese momento) el número de visitas de un vídeo en un valor de 32 bits, pero tuvo tantísimas visitas que sobrepasó el umbral y las visitas se resetearon empezando de cero de nuevo. Desde entonces, Youtube actualizó el valor a 64 bits.