Модуль:Calendar/doc
Материал из FetbukWiki
Это страница документации Модуль:Calendar.
Функции
Находится в бета-версии (42 273 байт). Об ошибках просьба сообщать на страницу обсуждения шаблона или самого модуля, или Carn. Если вы хотите поэкспериментировать, лучше делать это в альфа-версии (30 288 байт).
NthDay
{{ДатыСтрокой}}, {{Даты}}
- Получает 4 числовых аргумента, считает дату и выдаёт её в формате пятого, необязательного аргумента. Примеры использования (значения аргументов в скобках):
- первое (1) воскресенье (0) октября (10) (2020) года =
{{#invoke:Calendar|NthDay|1|0|10|2020}}
= 04.10.20 - вторая (2) среда (3) мая (5) (2019) года =
{{#invoke:Calendar|NthDay|2|3|5|2019}}
= 08.05.19 - последний (-1) понедельник (1) января (1) (2010) года =
{{#invoke:Calendar|NthDay|-1|1|1|2010}}
= 25.01.10 - предпоследняя (-2) суббота (6) декабря (12) (2001) года =
{{#invoke:Calendar|NthDay|-2|6|12|2001}}
= 22.12.01 - третье (3) воскресенье (0) марта (3) (2024) года в формате ISO 8601=
{{#invoke:Calendar|NthDay|3|0|3|2024|%Y-%m-%d}}
= 2024-03-17
- первое (1) воскресенье (0) октября (10) (2020) года =
unitime
- Оформляет ссылку на UTC, если есть любой второй параметр — ставит летнее время
{{#invoke:Calendar|unitime|-0}}
= UTC±0:00{{#invoke:Calendar|unitime|+0}}
= UTC±0:00{{#invoke:Calendar|unitime|+2:00}}
= UTC+2:00{{#invoke:Calendar|unitime|−3:30|}}
= UTC−3:30{{#invoke:Calendar|unitime|+12:45|1}}
= UTC+12:45, летом UTC+13:45{{#invoke:Calendar|unitime|-3:30|да}}
= UTC−3:30, летом UTC−2:30{{#invoke:Calendar|unitime|CET}}
= UTC+1:00{{#invoke:Calendar|unitime|EST|no}}
= UTC−5:00, летом UTC−4:00
OldDate
устарело
- Два обязательных аргумента, первый из которых — дата в формате ДД.ММ.ГГГГ или Д. М.ГГГГ, второй — григорианский/юлианский календарь, «г» или «ю»
- Необязательные аргументы
bc
(до нашей эры), а также параметры викификацииwd
,wm
иwy
, связанные, соответственно с вифификацией дня, месяца и года - Можно использовать параметр
sq_brts
для использования квадратных скобок и параметрyearmark
для нестандартного обозначения года{{#invoke:Calendar|OldDate|1.1.1|ю|wd=1}}
= 25 ноября (8 декабря) 2024 года ошибка!{{#invoke:Calendar|OldDate|31.12.1|г|bc=1}}
= Ошибка Lua: bad argument #2 to 'formatDate' (not a valid timestamp).{{#invoke:Calendar|OldDate|{{#time: d.m.Y }}|г}}
= 12 (25) ноября 2024 года{{#invoke:Calendar|OldDate|11.2.1602|j|wd=1|wm=0|wy=1}}
= 11 (21) февраля 1602 года{{#invoke:Calendar|OldDate|11.2.1602|j|wd=1|wm=1|wy=1}}
= 11 (21) февраля 1602 года{{#invoke:Calendar|OldDate|11.2.1602|g|bc=1|yearmark=г.}}
= 25 (11) февраля 1602 г. до н. э.{{#invoke:Calendar|OldDate|11.2.1602|g|sq_brts=1|yearmark=0}}
= 1 [11] февраля 1602
NewDate
{{DateStyle}}
- Аналогично функции выше, но может обрабатывать отрицательные даты и принимает жёстко только 2 формата d.m.y и y-m-d
{{#invoke:Calendar|NewDate|1.1.1|ю|wd=1}}
= 1 января 1 (30 декабря 1 до н. э.){{#invoke:Calendar|NewDate|31.12.1|г|bc=1}}
= 2 января 1 (31 декабря 1 до н. э.){{#invoke:Calendar|NewDate|{{#time: d.m.Y }}}}
= 12 (25) ноября 2024 (по умолчанию григорианский){{#invoke:Calendar|NewDate|11.2.1602|j|wd=1|wm=0|wy=1}}
= 11 (21) февраля 1602{{#invoke:Calendar|NewDate|11.2.1602|j|wd=1|wm=1|wy=1}}
= 11 (21) февраля 1602{{#invoke:Calendar|NewDate|11.2.1602|g|bc=1|yearmark=г.}}
= 25 (11) февраля 1602 г. до н. э.{{#invoke:Calendar|NewDate|11.2.1602|g|sq_brts=1|yearmark=0}}
= 1 [11] февраля 1602
ToIso
- Получает полную дату дату в форматах с четырёхзначным годом и выдаёт дату в формате ГГГГ-ММ-ДД
- 1.2.1602 =
{{#invoke:Calendar|ToIso|1.2.1602}}
= 1602-02-01 - -2020-12-12 =
{{#invoke:Calendar|ToIso|-2020-12-12}}
= -2020-12-12 - 5 января 1002 =
{{#invoke:Calendar|ToIso|5 января 1002}}
= 1002-01-05
- 1.2.1602 =
BoxDate
- Получает дату с четырёхзначным годом, месяцем и опционально днём месяца, выдаёт читаемую
- 06.1280 =
{{#invoke:Calendar|BoxDate|06.1280}}
= июнь 1280 - 1820-07 =
{{#invoke:Calendar|BoxDate|1820-07}}
= июль 1820 - 2020-12, xg Y =
{{#invoke:Calendar|BoxDate|2020-12|xg Y}}
= декабря 2020 - 08.08.1828 =
{{#invoke:Calendar|BoxDate|08.08.1828}}
= 8 августа 1828 - July 12, 2020 =
{{#invoke:Calendar|BoxDate|Jule 12, 2020}}
= 12 июля 2020 - 12 July 2020 =
{{#invoke:Calendar|BoxDate|12 Jule 2020}}
= 12 июля 2020 - July 2020 =
{{#invoke:Calendar|BoxDate|Jule 2020}}
= июль 2020 - 13 août 1281, l W недели Y года =
{{#invoke:Calendar|BoxDate|13 août 1281|l W недели Y года}}
= среда 33 недели 1281 года - 13 января =
{{#invoke:Calendar|BoxDate|13 января}}
= Ошибка Lua в Модуль:Calendar на строке 724: строка «13 января» не является верной датой, пожалуйста, укажите дату в формате ГГГГ-ММ-ДД.
- 06.1280 =
- bxDate
Реализует указанные выше функции для вызова из других модулей (см. пример использования в Message box), todo:
- поддержка отрицательных лет (запоминание знака, обработка в положительном виде, приделывание "до н.э." в конце; 0000-01-01 невалидно)
- преобразование даты в ISO формат, получение строки форматирования и преобразование по ней (необходимы доп.проверки для неточных дат)
- отдавать параметры
errorText
иerrorCat
ToDate
- Получает дату в формате Википедия:Функции парсера##time и возвращает в формате <число> <месяц в родительном падеже> <год>
- Если в строке нету символов препинания, то возвращает её неизменённой
- 1.2.1602 =
{{#invoke:Calendar|ToDate|1.2.1602}}
= 1 февраля 1602 - 1/2/1602 =
{{#invoke:Calendar|ToDate|1/2/1602}}
= 2 января 1602 - 1602-02-01 =
{{#invoke:Calendar|ToDate|1602-02-01}}
= 1 февраля 1602 - 1 февраля 1602 =
{{#invoke:Calendar|ToDate|1 февраля 1602}}
= 1 февраля 1602 - Завтра (+ 1 day) =
{{#invoke:Calendar|ToDate|+ 1 day}}
= 26 ноября 2024
- 1.2.1602 =