文档首页
MySQL 8.4 参考手册
相关文档 下载此手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  MySQL 使用什么日历?

13.2.7 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 DATEDATETIME 值存储的转换前日期必须进行调整以补偿差异。重要的是要意识到转换并非在所有国家同时发生,并且越晚发生,丢失的日期就越多。例如,在英国,它发生在 1752 年,9 月 2 日星期三之后是 9 月 14 日星期四。俄罗斯直到 1918 年才使用儒略历,在此过程中损失了 13 天,而通常被称为其十月革命 则根据格里高利历发生在 11 月。