Jump to content

Que es TIMESTAMP: Concepto, utilizacion y limites - Efecto Y2K38


Sylfaen
 Share

Publicaciones recomendadas

Timestamp es una secuencia de caracteres, que denotan la hora y fecha (o alguna de ellas) en la cual ocurrió determinado evento. Esta información es comúnmente presentada en un formato consistente, lo que permite la fácil comparación entre dos diferentes registros y seguimiento de progresos a través del tiempo; la práctica de grabar timestamps de forma consistente a lo largo de la información actual, se llama timestamping.

 

Los timestamps son típicamente usados para seguimiento de eventos (logging), en este caso, cada evento en un log es marcado con un timestamp. En sistemas de archivos, la palabra puede referirse a la hora y fecha de creación, acceso o modificación a un archivo que se queda registrada.

 

Efectivamente el TIMESTAMP (marca de tiempo) es la cantidad de SEGUNDOS transcurridos desde el EPOCH (fecha 1970-01-01 00:00:00 GMT).

 

Ciertamente, algunas librerías (por ejemplo RealTime para C) son capaces de calcular el TIMESTAMP en milisegundos e incluso pueden llegar a los microsegundos y fracciones de nanosegundos. Para el caso del gestor de Base de Datos MySQL, existe la funcion UNIX_TIMESTAMP() que devuelve la cantidad en SEGUNDOS. Ejemplo de una consulta en MySQL para obtener el TIMESTAMP para la fecha 2002-09-11 00:00:00 seria:

 

SELECT UNIX_TIMESTAMP(2002-09-11 00:00:00) la cual devuelve 1031716800 que es la cantidad de segundos.

 

 

LIMITE TimeStamp - Enero 2038

 

Pues el siguiente podría ser el efecto 2038 (Y2K38)... Me explico: Unix Time Stamp (también conocido como Unix Epoch) es el número de segundos transcurridos desde las 0:00:00 del 1 de enero de 1970 GMT. Pues en máquinas de 32 bits, usando complemento a dos, como usamos un bit para el signo, nos quedan 31 bits para la magnitud, y podemos trabajar con números entre el rango [-2^31+1, 2^31-1].

 

Pues bien, 2^31-1 segundos después del 1 de enero de 1970 a las 0:00:00 GMT, es el 19 de enero de 2038 a las 03:14:07 (que por cierto cae en martes) sería la fecha máxima que podríamos representar y, un segundo después, 03:14:08, se produciría un desbordamiento ("overflow"), lo que podría producir errores en el software que corra sobre dicha máquina...

  • Upvote 1
Enlace al comentario
Compartir en otros sitios web

Crear una cuenta o conéctate para comentar

Tienes que ser miembro para dejar un comentario

Crear una cuenta

Regístrese para obtener una cuenta nueva en nuestra comunidad. ¡Es fácil!

Registrar una nueva cuenta

Conectar

¿Ya tienes una cuenta? Conéctate aquí.

Conectar ahora
 Share

×
×
  • Crear nuevo...