[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[已解决]批处理如何计算两个时间差多少天?

要求:代码简洁,完全没有错误。谢谢。要求用户输入2次
举例:输入20110301 和 20110310
就是10
详细点:我说的是第几天

[ 本帖最后由 jinzeyu 于 2011-3-8 13:58 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

拒绝回答没表述清楚的问题,免得回了帖又说不是这个意思

TOP

  1. @echo off
  2. set /p DateBegin=请输入开始日期(yyyy-mm-dd):
  3. set /p DateEnd=请输入开始日期(yyyy-mm-dd):
  4. call :DateToDays %DateBegin:~0,4% %DateBegin:~5,2% %DateBegin:~8,2% DaysBegin
  5. call :DateToDays %DateEnd:~0,4% %DateEnd:~5,2% %DateEnd:~8,2% DaysEnd
  6. set /a DaysInter=DaysEnd-DaysBegin+1
  7. echo,%DaysInter%
  8. pause
  9. goto :eof
  10. :DateToDays %yy% %mm% %dd% days
  11. setlocal ENABLEEXTENSIONS
  12. set yy=%1&set mm=%2&set dd=%3
  13. if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%)
  14. set /a dd=100%dd%%%100,mm=100%mm%%%100
  15. set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
  16. set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
  17. endlocal&set %4=%j%&goto :EOF
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

TOP

返回列表