Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Hay vida después del año 2038 en el TIMESTAMP?

Estas en el tema de Hay vida después del año 2038 en el TIMESTAMP? en el foro de Mysql en Foros del Web. Buenas, Dudaba si utilizar DATETIME o TIMESTAMP para guardar la fecha del registro del usuario, pero leyendo esto de la documentación mysql, me que he ...
  #1 (permalink)  
Antiguo 20/09/2010, 14:21
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 9 meses
Puntos: 20
Hay vida después del año 2038 en el TIMESTAMP?

Buenas,

Dudaba si utilizar DATETIME o TIMESTAMP para guardar la fecha del registro del usuario, pero leyendo esto de la documentación mysql, me que he quedado asustado...
http://dev.mysql.com/doc/refman/5.1/en/datetime.html

The TIMESTAMP data type has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC

¿Significa que si declaro el campo como TIMESTAMP cuando llegue al 2039 no podré guardar mas años?

O yo puedo declarar el campo como TIMESTAMP y forzar vía PHP la fecha que quiera, como si quiero guardar 2150-01-20 ?

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 20/09/2010, 15:48
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Hay vida después del año 2038 en el TIMESTAMP?

neodani... relamente esto no es un problema de mysql, sino de la informatica en general.
Todos los sistemas operativos basados en tecnología de 32 bits sufren un desbordamiento en este rango de fechas.

Mira esto. El problema parece ser serio.

Esto básicamente pasa por querer interpretar una fecha por cada segundo que pasa desde 1970.
2147483647 es el numero máximo del rango de enteros y es exactamente el numero de segundos que transcurren en el rango citado por mysql.

mira bien el documento donde explican un poco mas a fondo el problema.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 20/09/2010, 16:06
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 9 meses
Puntos: 20
Respuesta: Hay vida después del año 2038 en el TIMESTAMP?

Cita:
Iniciado por huesos52 Ver Mensaje
neodani... relamente esto no es un problema de mysql, sino de la informatica en general.
Todos los sistemas operativos basados en tecnología de 32 bits sufren un desbordamiento en este rango de fechas.

Mira esto. El problema parece ser serio.

Esto básicamente pasa por querer interpretar una fecha por cada segundo que pasa desde 1970.
2147483647 es el numero máximo del rango de enteros y es exactamente el numero de segundos que transcurren en el rango citado por mysql.

mira bien el documento donde explican un poco mas a fondo el problema.

saludos
Wooww... me quedo con DATETIME parece la mejor opción en estos momentos, al menos hasta que piensen como solucionarlo en el futuro...

Muchas gracias
  #4 (permalink)  
Antiguo 20/09/2010, 16:10
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Hay vida después del año 2038 en el TIMESTAMP?

neodani... todo depende de las necesidades de tu sistema. El timestamp tiene una gran ventaja cuando se quiere dar soporte de zonas horarias. Si tu sitio o sistema es visitado por multiples usuarios de todo el mundo, con datetime solo podrás mostrar la fecha actual del servidor o ingeniartelas para programar el efecto de las horas dependiendo de las zonas horarias.

Estuve leyendo un poco mas del tema, y parece que este limite está mas dado por los sistemas unix de 32. Para sistemas de 64bits esto no es un problema.

Saludos y si sabes algo nuevo, compartelo. Apenas hoy me percato de esto.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: año, timestamp, vida
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:00.