## 12.9 MySQL 使用什么日历？

[](<>)

MySQL 使用所谓的预测公历。

每个从儒略历转换到公历的国家都必须在转换期间至少放弃十天。要了解它是如何工作的，请考虑 1582 年 10 月，即第一次儒略到格里高利转换发生的月份。

| 周一 | 周二 | 周三 | 周四 | 星期五 | 周六 | 星期日 |
| --- | --- | --- | --- | --- | --- | --- |
| 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日期[`要么`](datetime.html)约会时间[`必须调整值以补偿差异。`](datetime.html)重要的是要认识到，并非所有国家都同时发生切换，而且切换越晚，损失的天数就越多。例如，在英国，它发生在 1752 年，在 9 月 2 日星期三之后是 9 月 14 日星期四。俄罗斯一直使用儒略历直到 1918 年，在此过程中损失了 13 天，通常被称为“十月”。革命”根据公历发生在十一月。
