:: :: Определяем день недели из любой даты нашей эры. Формат даты dd.mm.yyyy :: @echo off setlocal 1>nul chcp 1251 set /p date="Дата: " for /f "tokens=1-3 delims=." %%i in ("%date%") do ( set "d=1%%i" & set "m=1%%j" & set "y=1%%k" ) for %%i in (d m) do set /a %%i-=100 set /a y-=10000 :: Одинаковый день недели повторяется раз в 28 лет... Каждые 7 високосных циклов. if %y% geq 2029 (set "step=-28,2001") else (set "step=28,2029") for /l %%i in (%y%,%step%) do set "y=%%i" for /f %%i in ('set /a y%%4') do if %%i==0 (set "feb=1") else (set "feb=0") for /f "tokens=%m%" %%i in ("0 31 59 90 120 151 181 212 243 273 304 334") do set /a yd=%%i+d if %m% gtr 2 set /a yd+=feb set /a wd=(((y-2001)/4+(y-2001)*365)+yd)%%7+1 for /f "tokens=%wd%" %%i in ("Воскресенье Понедельник Вторник Среда Четверг Пятница Суббота") do echo %%i 1>nul chcp 866 |