Почему `ncal -p` сообщает, что «Latin» перешел с юлианского на григорианский календарь 31.05.9999?

Почему `ncal -p` сообщает, что «Latin» перешел с юлианского на григорианский календарь 31.05.9999?

Я побежал ncal -pраспечатывать дни перехода с юлианского на григорианский календарь и вижу это:

 AL Albania        1912-11-30      IT Italy          1582-10-04
 AT Austria        1583-10-05      JP Japan          1918-12-18
 AU Australia      1752-09-02      LI Lithuania      1918-02-01
 BE Belgium        1582-12-14      LN Latin          9999-05-31
 BG Bulgaria       1916-03-18      LU Luxembourg     1582-12-14
 CA Canada         1752-09-02      LV Latvia         1918-02-01
 CH Switzerland    1655-02-28      NL Netherlands    1582-12-14
 CN China          1911-12-18      NO Norway         1700-02-18
 CZ Czech Republic 1584-01-06      PL Poland         1582-10-04
 DE Germany        1700-02-18      PT Portugal       1582-10-04
 DK Denmark        1700-02-18      RO Romania        1919-03-31
 ES Spain          1582-10-04      RU Russia         1918-01-31
 FI Finland        1753-02-17      SI Slovenia       1919-03-04
 FR France         1582-12-09      SE Sweden         1753-02-17
 GB United Kingdom 1752-09-02      TR Turkey         1926-12-18
 GR Greece         1924-03-09     *US United States  1752-09-02
 HU Hungary        1587-10-21      YU Yugoslavia     1919-03-04
 IS Iceland        1700-11-16

Примечание: LN Latin 9999-05-31. Что это значит? Почему это в будущем? Почему это именно 31 мая 9999 года? Что такое «Latin» (это, конечно, не страна)?

решение1

Это таблица, которая встроена в ncalпрограмму. В 1998 году Вольфганг Хельбиг обновил его, добавив эту запись.. В описании обновления эта страна была указана как одна из четырех добавленных стран, но не было сказано, откуда М. Хельбиг взял идею, что это страна. (Эта дата не взята изКлаус ТёндерингЧасто задаваемые вопросы о календаре, примечание.)

Почти наверняка это было сделано для того, чтобы учесть людей, которые по какой-либо причине установили xx_LNлокали. ncalопределяет, какая запись в этой таблице применяется, сравнивая двухбуквенный код с LC_TIMEименем локали, которое он считывает из библиотеки C.

У FreeBSD была la_LNлокаль с тех пор, какМ. Хельбиг добавил его (также в 1998 году)до 2015 года, когда FreeBSD перешла на использование Common Locale Data Repository в качестве источника информации о локали. Кажется, идея М. Хельбига заключалась в том, что люди, которые решили настроить свои сеансы так, как будто они все еще живут в Римской империи, будут продолжать использовать юлианский календарь, по крайней мере, доI Kalendarum Iunius ZZZZMCMXCIX. ☺

Связанный контент