Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  What Calendar Is Used By MySQL?

13.2.7 MySQL 使用的是什么日历?

MySQL 使用的是所谓的 普罗列普特格雷戈里历

每个从儒略历转换到格雷戈里历的国家都必须舍弃至少十天。在第一次儒略历到格雷戈里历的转换中,考虑 1582 年 10 月的情况。

Monday Tuesday Wednesday Thursday Friday Saturday Sunday
1 2 3 4 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

在 10 月 4 日和 10 月 15 日之间没有日期。这段不连续性称为 切换期。任何在切换期之前的日期都是儒略历,而任何在切换期之后的日期都是格雷戈里历。在切换期内的日期是不存在的。

将日历应用于实际上不使用的日期称为 普罗列普特。因此,如果我们假设从不曾有过切换期,并且格雷戈里规则一直适用,那么我们就有了一个普罗列普特格雷戈里历。这正是 MySQL 使用的,也是标准 SQL 所要求的。因此,在 MySQL 中存储的日期之前的 DATEDATETIME 值必须调整以补偿差异。重要的是要意识到切换期并不是在所有国家同时发生的,而是随着时间的推移,失去的天数也越来越多。例如,在英国,切换期发生在 1752 年,当时星期三 9 月 2 日紧接着星期四 9 月 14 日。俄罗斯直到 1918 年才从儒略历转换到格雷戈里历,失去了 13 天,并且所谓的 十月革命 实际上发生在格雷戈里历的十一月。