2010-10-12 6 views
5

Duplicar posible:
What should we do to prepare for 2038?¿Alguien está haciendo algo acerca de 2038 time_t bug?

no me refiero a la gente '' en el resumen. Me refiero a usted haciendo cualquier cosa y si es así, ¿qué?

Soy un programador antiguo y recuerdo cuando escribí COBOL a finales de los 70 diciendo a otros en mi equipo "ya sabes, esto no va a funcionar en 2000". A lo que la respuesta fue "sí, pero este sistema no estará en uso para entonces, eso es en 25 años".

2038 está a 28 años de distancia.

+8

¿Es 2038 después de 2012? ¿Sí? Lo primero es lo primero, amigo. –

+4

Haga de esto una pregunta wiki de la comunidad. La respuesta correcta podría ser "Estoy bebiendo mucho". O la respuesta correcta podría ser que es un problema menor de sistema operativo. Windows se habrá ido, y el kernel de 64 bits de Linux no tendrá este problema. –

+3

Posible duplicado de: [¿Qué deberíamos hacer para prepararnos para 2038?] (Http://stackoverflow.com/questions/36239/what-should-we-do-to-prepare-for-2038) –

Respuesta

10

que agregar una renuncia a las notas de la versión de mi software que dice: Best before 2038.

4

Orando y preparándose para la próxima ola de costosos turnos de consultoría. ¡Justo a tiempo para la jubilación!

+0

Infiernos sí! $ 300 por hora para "arreglar" lo que sea. – MattC

+1

@MattC, $ 300/hr en 2038 podría ser un cambio tonto. Ahora, si fuera $ 300 por hora en dólares de 1975, ahora estamos hablando. –

1

La manera más fácil, creo, es escribir software que pueda ser fácilmente mantenible. Es decir, bajo acoplamiento entre los modelos de datos y los algoritmos que operan sobre ellos. La mayoría de los DBMS y los lenguajes de programación ya se han diseñado para admitir este tipo de abstracción.

2

Cuando necesito almacenar segundos de la época, uso un tipo de 64 bits. Si necesito almacenar una marca de tiempo y el almacenamiento no es ajustado, usaré una cadena con formato ISO-8601.

2

Muchos sistemas utilizan un poco time_t 64 que no va a envolver por un tiempo muy largo (para registros = segundos).

En mi propio código solo me aseguro de usar una representación del tiempo que tiene un período muy largo, o algunas veces cuando hago cosas integradas solo diseño cosas para que el envoltorio no importe restringiendo mis cálculos de tiempo a relativamente pequeños deltas de tiempo (en comparación con la duración del tiempo medible).

Cuestiones relacionadas