11.2.8 Какой календарь используется в 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.