Guía Y2K de GnuCash


Las versiones 1.1.25 o posteriores de GnuCash almacenan todas las fechas como segundos y nanosegundos, donde los segundos se almacenan como enteros con signo de 64 bits. Esto es suficiente para almacenar fechas tanto del pasado distante como del futuro distante, tan lejos que permite almacenar hasta dos millones de años.

El formato de archivo para la versión 1.1.25 y posteriores almacenan las fechas en el forma descrita.

Algunas rutinas internas utilizan el tipo time_t para expresar segundos. Observe que en la mayoría de sistemas operativos, este valor es una cantidad de 32 bits, y está limitado a valores de UNIX, desde Diciembre de 1901 a Enero de 2038. Es razonable esperar que time_t pasará a utilizar valores de 64 bits con el tiempo.

Los archivos de "backup" y de "log" son marcados con fechas utilizando la función estándar de Unix ctime() que tiene un parámetro time_t. Por lo que, este mecanismo puede presentar problemas en el 2038, asumiendo que el sistema UNIX actual continuará en servicio entonces sin ninguna modificación.

Observe que GnuCash también reconoce correctamente el 29 de Febrero del 2000 por ser año bisiesto, otro de los "problemas críticos con fechas" Y2K.

Todo esto sugiere que GnuCash puede pasar razonablemente bien por la transición al nuevo milenio, tanto si considera que tiene lugar en el 2000 o en el 2001...

Las característica Y2K se describen con mayor detalle en Linux y el Año 2000.