上面的太繁琐,改进后代码如下- @echo off&setlocal enabledelayedexpansion
- echo 请输入日期,如2008年8月9日:2008-8-9
- set /p p=
- for /f "tokens=1,2,3 delims=-" %%i in ("%p%") do set y=%%i &set m=%%j &set d=%%k
- set "g= 00+31+28+31+30+31+30+31+31+30+31+30"
- set /a s=%m%*3
- call set /a j=%%g:~1,%s%%%%d%
- set i=%y:~-2%
- if "%i%" == "00" (
- set /a k=%y%%%400
- if !k! == 0 (goto run) else goto ping
- ) else (
- set /a l=%y%%%4
- if !l! == 0 (goto run)else goto ping
- )
- :run
- if %m% leq 2 (set /a j=%j%) else set /a j=!j!+1
- :ping
- echo 你输入的日期是这一年中的第%j%天
- pause&exit
复制代码
|