12.6.MySQL使用什么日歷?
12.6. MySQL使用什么日歷?
MySQL 使用通常所說的 proleptic 陽歷。
每個將日歷由朱利安改為陽歷的國家在改變日歷期間都不得不刪除至少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天, 根據陽歷,其普遍被稱為“10月革命”的發生時間實際上是11月。