Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off
cls
	Set "A=31 12 2019"
	Set "A=1 1 2021"
	Set "A=16 11 2021"

	Call :NdayInWeek %A% "DWeek"
	FOR /F "tokens=%DWeek% delims= " %%i IN ("Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье") DO Set "DWeek=%%i"

	Echo ===== %A%  DWeek=%DWeek%
Pause
Exit /B

rem Номер дня в неделе дд мм гггг имя_переменной
:NdayInWeek
SetLocal
	Set "D=0%1" &Set "M=0%2"
	Set /A D=1%D:~-2%-100,M=1%M:~-2%-100  
	Set /A i=(%3-1901)*365 + (%3-1901)/4 + %D% + (!(%3 %% 4))*(!((%M%-3)^&16))
	EndLocal &Set /A %~4=(%i%+(%M%-1)*30+2*(!((%M%-7)^&16))-1+((65611044^>^>(2*%M%))^&3))%%7+1
Exit /B
Бонус:
Код: Выделить весь код
@Echo Off
cls
	Set /A Nmonth=11
	FOR /F "tokens=%Nmonth% delims= " %%i IN ("Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь") DO Set "Smonth=%%i"

	Echo ===== %Nmonth%  Smonth=%Smonth%
Pause
Exit /B

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 16-11-2021 в 20:03.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:46, 16-11-2021 | #5