标题: [已解决]批处理如何计算两个时间差多少天? [打印本页]
作者: jinzeyu 时间: 2011-3-7 18:00 标题: [已解决]批处理如何计算两个时间差多少天?
要求:代码简洁,完全没有错误。谢谢。要求用户输入2次
举例:输入20110301 和 20110310
就是10
详细点:我说的是第几天
[ 本帖最后由 jinzeyu 于 2011-3-8 13:58 编辑 ]
作者: CrLf 时间: 2011-3-7 18:18
拒绝回答没表述清楚的问题,免得回了帖又说不是这个意思
作者: Batcher 时间: 2011-3-7 20:28
- @echo off
- set /p DateBegin=请输入开始日期(yyyy-mm-dd):
- set /p DateEnd=请输入开始日期(yyyy-mm-dd):
- call :DateToDays %DateBegin:~0,4% %DateBegin:~5,2% %DateBegin:~8,2% DaysBegin
- call :DateToDays %DateEnd:~0,4% %DateEnd:~5,2% %DateEnd:~8,2% DaysEnd
- set /a DaysInter=DaysEnd-DaysBegin+1
- echo,%DaysInter%
- pause
- goto :eof
-
- :DateToDays %yy% %mm% %dd% days
- setlocal ENABLEEXTENSIONS
- set yy=%1&set mm=%2&set dd=%3
- if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
- set /a dd=100%dd%%%100,mm=100%mm%%%100
- set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
- set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
- endlocal&set %4=%j%&goto :EOF
复制代码
作者: CrLf 时间: 2011-3-7 21:12
http://bbs.bathome.net/thread-11128-1-1.html
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |