La ventana de fecha es un método por el cual las fechas con años de dos dígitos se convierten a y desde fechas con años de cuatro dígitos. [1] El año en el que cambia el siglo se denomina año pivote de la ventana de fecha. [2] La ventana de fecha fue una de las varias técnicas utilizadas para resolver el problema del año 2000 en los sistemas informáticos heredados . [3]
Para las organizaciones e instituciones con datos que tienen solo décadas de antigüedad, se consideró que una solución de "ventanas de fecha" era más fácil y económica que las conversiones y pruebas masivas requeridas para convertir años de dos dígitos en años de cuatro dígitos. [3] [4]
Hay tres métodos principales que se utilizan para determinar la ventana de fecha:
La implementación de FOCUS "Century Aware" de Information Builders [5] permitió al usuario centrarse en configuraciones específicas del campo y del archivo.
Esta flexibilidad proporcionó lo mejor de los tres mecanismos principales: una escuela podría tener un archivo RecentDonors que establezca un campo llamado BirthDate para usar
Es poco probable que quienes nacieron en 2031 donen antes de 2049, momento en el que los nacidos en 1931 tendrían 118 años y es poco probable que sean donantes actuales. DEFCENT y YRTHRESH para un archivo que contenga estudiantes actuales y graduados recientes utilizarían valores diferentes.
A continuación se muestra un ejemplo típico de código COBOL que establece una ventana de fecha fija, utilizada para calcular el siglo para las fechas comerciales ordinarias.
SI FECHA-RECIBO-AÑO >= 60 MOVER 19 A FECHA -RECIBO-SIGLO DE LO CONTRARIO MOVER 20 A FECHA -RECIBO-SIGLO FIN-SI .
El código anterior establece una ventana de fecha fija de 1960 a 2059. Supone que ninguna de las fechas de recepción es anterior a 1960 y debería funcionar hasta el 1 de enero de 2060. [3]
Algunos sistemas tienen variables de entorno que establecen el año pivote fijo para el sistema. Cualquier año posterior al año pivote pertenecerá a este siglo (el siglo XXI), y cualquier año anterior o igual al año pivote pertenecerá al siglo pasado (el siglo XX). [6]
Algunos productos, como Microsoft Excel 95, utilizaron una ventana de los años 1920-2019 que tenía el potencial de encontrar un error de ventana que se repitiera solo 20 años después de que se hubiera solucionado el problema del año 2000. [7]
El sistema operativo IBM i utiliza una ventana de 1940 a 2039 para formatos de fecha con un año de dos dígitos. [8] En la versión 7.5 del sistema operativo, se agregó una opción para utilizar una ventana de 1970 a 2069 en su lugar. [9]
Mediante el uso de ventanas, los programadores dan instrucciones al software para que adivine el siglo para las fechas que caen dentro de una "ventana" específica de tiempo, como las próximas tres décadas. La computadora interpreta el año basándose en una fecha futura denominada "bisagra", o pivote, que los programadores eligen arbitrariamente.
Un año pivote, también conocido como ventana de fecha, toma un año de dos dígitos y lo expande para determinar en qué siglo se encuentra el año. Por lo general, el año se convierte a un año completo de cuatro dígitos o al formato del año 1900, según corresponda a la aplicación en cuestión.
El uso de ventanas es una solución a largo plazo que debería permitir que los sistemas antiguos sigan funcionando bien hasta que se rediseñe el software...
La elección del año pivote real fue realizada por las empresas en función de sus registros históricos. No fue en ningún caso un estándar de la industria, ni tampoco fue un enfoque recomendado profesionalmente. Pero funcionaría por un tiempo.
Configuración a nivel de archivo y campo.
Al definir un año pivote, le indica a APPX que determine a qué siglo pertenece un año en particular. Por ejemplo, si el año pivote se establece en 35, APPX asumirá que cualquier campo de fecha con un año mayor que 35 tiene un valor de siglo de 19. APPX asumirá que cualquier campo de fecha con un año menor o igual al año pivote tiene un valor de siglo de 20.
El otro comportamiento común que experimentarán los usuarios de Windows involucra fechas en programas de hojas de cálculo como Microsoft Excel, Lotus 1-2-3 y Corel Quattro Pro. Si ha escrito todas sus fechas con años de cuatro dígitos (como 1/1/1999 y 1/1/2000), debería estar bien. Pero si ha escrito años de dos dígitos (como 1/1/29), es posible que se sorprenda de la forma en que los diferentes programas manejan la fecha.