Узнать дату

Обсуждение ПО и его настройки
Ответить
svetkin
Сообщения: 24
Зарегистрирован: 19 янв 2014, 12:31

06 фев 2014, 19:51

Всем добрый день!

Подскажите, как в скрипте узнать какой сегодня день недели?

и вообще где можно посмотреть какие системные функции можно использовать?


Аватара пользователя
podarok66
Модератор
Сообщения: 3426
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

06 фев 2014, 22:13

http://wiki.mikrotik.com/wiki/Script_to ... f_the_week
Или поновее

Код: Выделить всё

#
#   $RCSfile: function-date.rsc,v $
#   $Revision: 1.1 $
#   $Date: 2011/05/27 19:47:46 $
#   $Author: reesejb $, iNet Specialists. Copyright, (C)2007-2011, All Rights Reserved
#
#   Calculates day of the week (number of month, etc.) for a givien date
#
#   Expanded from "day of week" script at:
#      http://wiki.mikrotik.com/wiki/Script_to_find_the_day_of_the_week
#   
#   Month: jan,feb,..nov,dec   (must be lower-case)
#   Day: 01-31
#   Year: 1900-2999
#   mmm/dd/yyyy   same format as [/system clock get date]
#   (ex. jul/22/2009)
 
:local date [/ system clock get date]
 
# Variables
:global weekday ""
:global monthord ""
:local months [:toarray "jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec"]
:local monthval [:toarray "01,02,03,04,05,06,07,08,09,10,11,12"]
:local monthtbl [:toarray "0,3,3,6,1,4,6,2,5,0,3,5"]
:local daytbl [:toarray "sun,mon,tue,wed,thu,fri,sat"]
 
:global monthshort [:pick $date 0 3]
:global day [:pick $date 4 6]
:local daysum $day
:local dayc [:pick $date 5 6]
:global century [:pick $date 7 9]
:global year [:pick $date 9 11]
:local yearsum $year
:local yearc [:pick $date 10 11]
 
# if the first digit of the day or year is a 0 (zero),
# only use the last digit, otherwise the script will fail
:if ([:pick $date 4 5] = 0) do={ :set daysum ($dayc)}
:if ([:pick $date 9 10] = 0) do=[:set yearsum ($yearc)]
 
# Calculate "sum" to determine which "day of week" (from daytbl) to use
:local sum 0
:set sum ($sum + (2 * (3 - ($century - (($century / 4) * 4)))))
:set sum ($sum + ($yearsum / 4))
:set sum ($sum + $yearsum + $daysum)
:for mindex from=0 to=[:len $months] do={ \
   :if ([:pick $months $mindex] = $monthshort) do={ \
      :set sum ($sum + [:pick $monthtbl $mindex])
      :set monthord [:pick $monthval $mindex]
      } \
   }
:set sum ($sum - (($sum / 7) * 7))
:set weekday [:pick $daytbl $sum]
 
# Log the result for troubleshooting purposes
:log info "Today is $weekday, $monthshort $day, $century$year ($monthord/$day/$century$year)"

http://wiki.mikrotik.com/wiki/Manual:Scripting


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ответить