13.2.7 Какой календарь используется в MySQL?
MySQL использует так называемый пролептический григорианский календарь.
В каждой стране, которая перешла от юлианского к григорианскому календарю, пришлось отбросить как минимум десять дней во время перехода. Чтобы понять, как это работает, рассмотрим месяц октябрь 1582 года, когда произошёл первый переход от юлианского к григорианскому календарю.
| Понедельник | Вторник | Среда | Четверг | Пятница | Суббота | Воскресенье |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Между 4 октября и 15 октября нет дат. Эта прерывистость называется переходом. Все даты до перехода — юлианские, а все даты после перехода — григорианские. Даты во время перехода не существуют.
Календарь, применяемый к датам, когда он фактически не использовался, называется пролептическим. Таким образом, если предположить, что перехода никогда не было и григорианские правила всегда действовали, у нас есть пролептический григорианский календарь. Именно он используется в MySQL, как того требует стандарт SQL. По этой причине даты до перехода, хранящиеся в качестве значений MySQL DATE или DATETIME, должны быть скорректированы для компенсации разницы. Важно понимать, что переход не происходил одновременно во всех странах, и чем позже он происходил, тем больше дней терялось. Например, в Великобритании он произошёл в 1752 году, когда среду 2 сентября сменил четверг 14 сентября. Россия оставалась на юлианском календаре до 1918 года, потеряв при этом 13 дней, и то, что обычно называют её «Октябрьской революцией», произошло в ноябре по григорианскому календарю.
© 2025 Oracle
Licensed under the GPLv2 License.