Перейти к основному содержимому

История единиц измерения

примечание

Эта страница переведена при помощи нейросети GigaChat.

Стандарт SQL гласит, что «В рамках определения «буквального значения даты и времени» значения даты и времени ограничиваются естественными правилами для дат и времен согласно григорианскому календарю»». PostgreSQL следует примеру стандарта SQL, считая даты исключительно по григорианскому календарю, даже для годов до введения этого календаря. Это правило известно как проективный григорианский календарь.

Юлианский календарь был введен Юлием Цезарем в 45 году до н.э. Он широко использовался в западном мире до 1582 года, когда страны начали переходить на григорианский календарь. В юлианском календаре тропический год приближается к 365 1/4 дням = 365,25 дням. Это дает ошибку примерно в 1 день за 128 лет.

Накапливающаяся календарная ошибка побудила Папу Григория XIII реформировать календарь в соответствии с инструкциями Совета Трента. В григорианском календаре тропический год приближается к значению 365 + 97 / 400 дней = 365,2425 дня. Таким образом, требуется примерно 3300 лет, чтобы тропический год сместился на один день относительно григорианского календаря.

Приближение 365+97/400 достигается за счет того, что каждые 400 лет происходит 97 високосных годов, используя следующие правила:

  • Каждый год, кратный 4, является високосным годом.
  • Однако каждый год, кратный 100, не является високосным годом.
  • Однако каждый год, кратный 400, все-таки является високосным годом.

Итак, 1700, 1800, 1900, 2100 и 2200 годы не являются високосными годами. Но 1600, 2000 и 2400 годы являются високосными. В отличие от этого, в старом юлианском календаре все годы, кратные 4, являются високосными.

Папская булла от февраля 1582 года постановила, что из октября 1582 года следует исключить 10 дней таким образом, чтобы 15 октября непосредственно следовало за 4 октября. Это было соблюдено в Италии, Польше, Португалии и Испании. Другие католические страны вскоре последовали их примеру, но протестантские страны неохотно менялись, а греческие православные страны не изменились до начала XX века. Реформа была проведена Великобританией и ее владениями (включая то, что сейчас является США) в 1752 году. Таким образом, после 2 сентября 1752 года последовало 14 сентября 1752 года. Вот почему системы Unix, которые имеют программу cal, выдают следующее:

$ cal 9 1752
September 1752
S M Tu W Th F S
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Но, конечно же, этот календарь действителен только для Великобритании и доминионов, но не других мест. Поскольку было бы сложно и запутанно пытаться отслеживать фактические календари, которые использовались в различных местах в разное время, PostgreSQL не пытается это сделать, а скорее следует правилам григорианского календаря для всех дат, даже если этот метод исторически неточен.

Различные календари были разработаны в разных частях мира, многие из которых предшествовали григорианской системе. Например, истоки китайского календаря можно проследить до XIV века до нашей эры. Легенда гласит, что император Хуанди изобрел этот календарь в 2637 году до н.э. Китайская Народная Республика использует григорианский календарь для гражданских целей. Китайский календарь используется для определения фестивалей.