|
发表于 2011-1-8 21:52:28
|
显示全部楼层
本帖最后由 mxso 于 2011-1-8 21:54 编辑
这是官网(wiki)上的:- # Calculates day of the week for a givien date
- # Month: jan,feb ... nov,dec (must be lower-case)
- # Day: 1 - 31
- # Year: 1900 - 2999
- # mmm/dd/yyyy same format as [/system clock get date]
- # (ex. jul/22/2009)
- :local date [/system clock get date]
- # Math Calculation here
- :local result ""
- :local months [:toarray "jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec"]
- :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"]
- :local month [:pick $date 0 3]
- :local day [:pick $date 4 6]
- :local dayc [:pick $date 5 6]
- :local century [:pick $date 7 9]
- :local year [:pick $date 9 11]
- :local yearc [:pick $date 10 11]
- # if the first char is a 0 (zero) only read last char, else script fails
- :if ([:pick $date 4 5] = 0) do={ :set day ($dayc)}
- :if ([:pick $date 9 10] = 0) do=[:set year ($yearc)]
- :local sum 0
- :set sum ($sum + (2 * (3 - ($century - (($century / 4) * 4)))))
- :set sum ($sum + ($year / 4))
- :set sum ($sum + $year + $day)
- :for mindex from=0 to=[:len $months] do={
- :if ([:pick $months $mindex] = $month) do={:set sum ($sum + [:pick $monthtbl $mindex]) }
- }
- :set sum ($sum - (($sum / 7) * 7))
- :set result [:pick $daytbl $sum]
- # END Math Calculation
- :put ([:pick $date 0 3] . "/" . [:pick $date 4 6] . "/" . [:pick $date 7 9] . [:pick $date 9 11] . " is on a " . $result)
复制代码 原连接:http://wiki.mikrotik.com/wiki/Script_to_find_the_day_of_the_week |
|