计算任意日期:
@echo off
:begin
cls&set /p var=输入要计算的日期(格式为2000-01-01):
if "%var:~4,1%%var:~7,1%"=="--" goto run
cls&echo 输入格式不正确!请返回正确输入。&ping /n 2 127.1>nul&goto begin
:run
set year=%var:~,4%
set /a month=100%var:~5,2%%%100,str=%year%%%4
if %month% gtr 2 (
if %str% equ 0 (
set /a number+=29
) else (
set /a number+=28
)
)
set /a month-=1
if %month% gtr 0 for /l %%i in (1,1,%month%) do call :lp %%i
set /a number+=100%var:~8,2%%%100
cls&echo %var%是%year%年的第%number%天&set number=0
pause>nul&goto begin
:lp
for %%i in (1,3,5,7,8,10) do if %%i equ %1 set /a number+=31
for %%i in (4,6,9,11) do if %%i equ %1 set /a number+=30