MySQL usa lo que se conoce como calendario Gregoriano proleptico.
Cada país que ha cambiado del calendario Juliano al Gregoriano ha tenido que descartar al menos diez días durante el cambio. Para ver cómo funciona, vamos a mirar el mes de Octubre de 1582, cuando se hizo el primer cambio Juliano-Gregoriano:
Lunes | Martes | Miércoles | Jueves | Viernes | Sábado | Domingo |
1 | 2 | 3 | 4 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
No hay fechas entre 4 y 15 de Octubre. Esta continuidad se llama el corte. Cualquier fecha antes del corte son Julianas, y cualquier fecha posterior es Gregoriana. Las fechas durante el corte no existen.
Un calendario aplicado a fechas cuando no estaban en uso se llama
proleptico. Por lo tanto, si
asuminos que nunca huvo un corte y las reglas Gregorianas
funcionaron siempre, tenemos un calendario Gregoriano proleptico.
Esto es lo que se usa en MySQL, y es requerido por el estándar
SQL. Por esta razón, las fechas anteriores al corte almacenadas
como valores MySQL DATE
o
DATETIME
deben ajustarse para compensar la
diferencia. Es importante tener en cuenta que el corte no ocurrió
al mismo tiempo en todos los países, y que donde ocurrió más
tarde se perdieron más días. Por ejemplo, en Gran Bretaña, tuvo
lugar en 1752, cuando el miércoles 2 de Septiembre fue seguido
por el jueves 14 de Septiembre; Rusia siguió con el calendario
Juliano hasta 1918, perdiendo 13 días en el proceso, y la que se
llama popularmente la "Revolución de Octubre" ocurrió en
Noviembre según el calendario Gregoriano.