MySQL使用的日历
MySQL使用所谓的多历公历。
从儒略历转换为公历的每个国家都必须在转换期间至少放弃10天。要了解其工作原理,请考虑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日之间没有日期。这种间断称为过渡。割接之前的任何日期都是朱利安,割接之后的任何日期都是公历。转换期间的日期不存在。
日历应用于日期时,它实际上并没有使用被称为proleptic。因此,如果我们假设从未有过割礼,而格里高利规则总是占统治地位,那么我们就有一个多产的格里高利日历。这是MySQL使用的,这是标准SQL所要求的。因此,转换之前的日期存储为MySQL DATE
或DATETIME
必须调整数值以补偿差异。重要的是要认识到,转换并非在所有国家/地区同时发生,而且转换发生得越晚,损失的时间就越多。例如,在英国,发生于1752年,即9月2日(星期三)和9月14日(星期四)。俄罗斯一直沿用朱利安历法直到1918年,在此过程中损失了13天,通常被称为“十月”。根据公历,“革命”发生在11月。