Spec-Zone.ru › MySQL 5.7

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.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/mysql-calendar.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API