@echo off
setlocal enabledelayedexpansion
set /p date1=请输入日期1(格式:年-月-日):
set /p date2=请输入日期1(格式:年-月-日):
call :date2days %date1%
set date1=%days%
call :date2days %date2%
set date2=%days%
set /a interval=%date2%-%date1%
echo 间隔天数:%interval%
pause
goto :eof
:date2days
set days=
set var=%1
set year1=%var:~0,4%
set month1=%var:~5,2%
if /i %month1% lss 10 (set /a month1=%month1:~1,1%-1) else (set /a month1=%month1%-1)
set day1=%var:~8,2%
if /i %day1% lss 10 set day1=%day1:~1,1%
set /a runyear=%year1%%%4
set m1=31
if /i %runyear%==0 (set m2=29) else (set m2=28)
set m3=31
set m4=30
set m5=31
set m6=30
set m7=31
set m8=31
set m9=30
set m10=31
set m11=30
set m12=31
for /l %%a in (1,1,%month1%) do (set /a day1=!day1!+!m%%a!)
set /a days=%year1%*365+%year1%/4+%day1%