Инструменты пользователя

Инструменты сайта


mikrotik:rb3011uias:routeros:system:scripts:functions:day_of_the_week

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
mikrotik:rb3011uias:routeros:system:scripts:functions:day_of_the_week [2020/12/08 18:36]
Николай Солошин Добавлена модификация функции
mikrotik:rb3011uias:routeros:system:scripts:functions:day_of_the_week [2022/02/12 11:40] (текущий)
Строка 5: Строка 5:
  
 Мой вариант((В Интернете есть несколько других кейсов, но все они показались мне несколько громоздкими и, по разным сообщениям, не всегда корректно работающим. Вот ссылки на них -- [[https://wiki.mikrotik.com/wiki/Script_to_find_the_day_of_the_week|раз]], [[http://mikrotik-ukraine.blogspot.com/2015/04/routeros.html|два]] и [[https://forum.mikrotik.com/viewtopic.php?t=59029|три]]. Поэтому я разобрался в работе алгоритма -- {{ :mikrotik:rb3011uias:routeros:system:scripts:functions:соответствие_зеллера_вычисление_дня_недели_по_дате_.xlsx |Excel с примером}} -- и собрал свой велосипед. LOL)) функции, которая возвращает текущий день недели основываясь на дате. Использует модифицированный алгоритм Зеллера для программного обеспечения((Подробнее смотрите [[wp>Zeller's_congruence|по ссылке]].)). Мой вариант((В Интернете есть несколько других кейсов, но все они показались мне несколько громоздкими и, по разным сообщениям, не всегда корректно работающим. Вот ссылки на них -- [[https://wiki.mikrotik.com/wiki/Script_to_find_the_day_of_the_week|раз]], [[http://mikrotik-ukraine.blogspot.com/2015/04/routeros.html|два]] и [[https://forum.mikrotik.com/viewtopic.php?t=59029|три]]. Поэтому я разобрался в работе алгоритма -- {{ :mikrotik:rb3011uias:routeros:system:scripts:functions:соответствие_зеллера_вычисление_дня_недели_по_дате_.xlsx |Excel с примером}} -- и собрал свой велосипед. LOL)) функции, которая возвращает текущий день недели основываясь на дате. Использует модифицированный алгоритм Зеллера для программного обеспечения((Подробнее смотрите [[wp>Zeller's_congruence|по ссылке]].)).
 +
 +:!: [[#модификация_функции|Добавлена]] модифицированная функция, которая возвращает массив из дня недели и текущего часа.
  
 ===== Комментарии к коду ===== ===== Комментарии к коду =====
Строка 24: Строка 26:
   :local year;</code>   :local year;</code>
  
-<BOOKMARK:days-array>Вводим массивы с данными. Обратите внимание в каком порядке следуют дни недели и какая нумерация у месяцев. Так должно быть согласно алгоритму.+<BOOKMARK:days_array>Вводим массивы с данными. **Обратите внимание** в каком порядке следуют дни недели и какая нумерация у месяцев. Так должно быть согласно алгоритму.
  
 <code>  :local days {"sat";"sun";"mon";"tue";"wed";"thu";"fri";}; <code>  :local days {"sat";"sun";"mon";"tue";"wed";"thu";"fri";};
Строка 104: Строка 106:
 ===== Модификация функции ===== ===== Модификация функции =====
  
-Модифицированная функция, которая возвращает массив из цифры дня недели и цифры часа. НАПИСАТЬ, ГДЕ ВВОДИТСЯ И ГДЕ ИСПОЛЬЗУЕТСЯ,+Модифицированная функция, которая возвращает массив из цифры дня недели и цифры часа. Удобна для использования в составе других скриптов, т.к. манипулировать цифрами намного проще. Плюс, она универсальна. Пример вывода [[#пример_использования|смотрите ниже]]. 
 + 
 +НАПИСАТЬ, ГДЕ ВВОДИТСЯ И ГДЕ ИСПОЛЬЗУЕТСЯ,
  
 ==== Комментарии к коду ==== ==== Комментарии к коду ====
Строка 151: Строка 155:
     \E0\FF \E4\E5\ED\FC \ED\E5\E4\E5\EB\E8 \E8 \E2\F0\E5\EC\FF" \     \E0\FF \E4\E5\ED\FC \ED\E5\E4\E5\EB\E8 \E8 \E2\F0\E5\EC\FF" \
     dont-require-permissions=no name=day-of-week-and-time owner=vasya policy=\     dont-require-permissions=no name=day-of-week-and-time owner=vasya policy=\
-    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":+    read,write,policy,test source="# Written by Nikolay Soloshin (nikolay@solo
-    global dayAndTime do={\r\+    shin.su) for RouterOS v6.47.8 on hAP (mipsbe) @ 2020.12\r\ 
 +    \n\r\ 
 +    \n:global dayAndTime do={\r\
     \n  :local date [ /system clock get date ];\r\     \n  :local date [ /system clock get date ];\r\
     \n  :local time [ :tonum [ :pick [ /system clock get time ] 0 2 ] ];\r\     \n  :local time [ :tonum [ :pick [ /system clock get time ] 0 2 ] ];\r\
Строка 193: Строка 199:
     \n\r\     \n\r\
     \n  :return \$result;\r\     \n  :return \$result;\r\
-    \n}"</file>+    \n}\r\ 
 +    \n\r\ 
 +    \n# With love from Vladivostok."</file>
  
 ===== Пример использования ===== ===== Пример использования =====
Строка 212: Строка 220:
 day=3;time=18</code> day=3;time=18</code>
  
-//Порядок следования дней недели смотрите [[#days-array|выше]].//+//Порядок следования дней недели смотрите [[#days_array|выше]].//
  
 ==== Политики запуска ==== ==== Политики запуска ====
Последнее изменение: 2022/02/12 11:40 (внешнее изменение)