Problema del año bisiesto


El problema del año bisiesto (también conocido como el error del año bisiesto o el error del día bisiesto ) es un problema tanto para la documentación digital (relacionada con la computadora) como para las situaciones de almacenamiento de datos y documentación que resulta de errores en el cálculo de qué años son bisiestos. años , o de manipular fechas sin tener en cuenta la diferencia entre años bisiestos y años comunes.

Los errores de los años bisiestos generalmente se dividen en dos categorías, según la cantidad de impacto que pueden tener en el uso en el mundo real: [1]

El siguiente código de Python es un ejemplo de un error de año bisiesto de Categoría 1. Funcionará correctamente hasta todayel 29 de febrero. Luego, intentará crear un 29 de febrero de un año común, que no existe. El dateconstructor generará un ValueErrormensaje "el día está fuera de rango para el mes". [2]

El siguiente código de Windows C ++ es un ejemplo de un error de año bisiesto de Categoría 1. Funcionará correctamente hasta stel 29 de febrero. Luego, intentará crear un 29 de febrero de un año común, que no existe. Pasar esto a cualquier función que acepte una SYSTEMTIMEestructura probablemente fallará.

Por ejemplo, la SystemTimeToFileTimellamada que se muestra aquí devolverá un código de error. Dado que ese valor de retorno no está marcado (lo cual es extremadamente común), esto dará como resultado ftque no se inicialice. [3]

El siguiente código .NET C # es un ejemplo de un error de año bisiesto de Categoría 1. Funcionará correctamente hasta dtel 29 de febrero. Luego, intentará crear un 29 de febrero de un año común, que no existe. El DateTimeconstructor lanzará un ArgumentOutOfRangeException. [4]