En octubre de 1582, la bula papal Inter gravissimas ordenó el paso del calendario juliano al gregoriano, lo que obligó a suprimir diez días de ese mes para corregir el desfase acumulado entre ambos sistemas. Así, los ciudadanos de los países católicos se fueron a dormir el 4 de octubre y despertaron el 15 de octubre, con lo que los días comprendidos entre el 5 y el 14 de ese mes nunca existieron en el calendario gregoriano occidental. Este artículo analiza cómo gestionan este hueco tres lenguajes de programación muy extendidos. Ruby se comporta correctamente: rechaza la creación de un objeto DateTime para fechas imposibles como el 5 de octubre de 1582 y devuelve un ArgumentError. En cambio, los módulos datetime de Python 2 y 3 y DateTime de Perl (vía CPAN) sí permiten crear esas fechas inexistentes sin ningún aviso, a pesar de declararse seguidores del calendario gregoriano. La utilidad de línea de comandos ncal, por su parte, ofrece el tratamiento más riguroso, ya que acepta un código de país y aplica el ajuste histórico correspondiente, mostrando cómo Italia cambió en 1582 y Gran Bretaña lo hizo en septiembre de 1752. El autor concluye que, aunque no se trata de un problema al nivel del efecto 2000, la gestión de fechas históricas sigue siendo un punto débil en la corrección de muchas implementaciones de software.
