
批處理計算星期為什么只有年2月20日顯示不正常我是根據W的值來計算星期幾的,只有到了年2月20日顯示不正常,明明是星期一,算出的值缺是2,前后幾天都是正常,請教高人指點啊!
nclick="copycode($('code0'));">復制代碼
- @echo off
- set /a y = %date:~0,4%
- if %date:~5,1% EQU 0 set /a m = %date:~6,1%
- if %date:~5,1% NEQ 0 set /a m = %date:~5,2%
- if %date:~8,1% EQU 0 set /a d = %date:~9,1%
- if %date:~9,1% NEQ 0 set /a d = %date:~8,2%
- if %m% EQU 1 set /a m = 13
- if %m% EQU 2 set /a m = 14
- set /a w = (d + 2*m+3*(m+1)/5+y+y/4-y/100+y/400) - ((d + 2*m+3*(m+1)/5+y+y/4-y/100+y/400)/7)*7 + 1
- set /a yy = (y - 4*(y/4))
- if %m% EQU 13 if %yy% EQU 0 set /a w = w -2
- if %m% EQU 14 if %yy% EQU 0 set /a w = w -2
- if %m% EQU 13 if %yy% NEQ 0 set /a w = w - 1
- if %m% EQU 14 if %yy% NEQ 0 set /a w = w - 1
- if %w% EQU -1 set /a w = 6
- if %w% EQU 0 set /a w = 7
- @echo %w%

