用DOS命令求两日期的差!!!

Auinny 2011-03-11 12:08:08
请教:用DOS命令求两日期的差!!!
...全文
146 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Auinny 2011-03-22
  • 打赏
  • 举报
回复
挺复杂的...
Forever_Young 2011-03-11
  • 打赏
  • 举报
回复
[code=BatchFile]
@echo off
set /p d1=输入第一个日期(年-月-日):
set /p d2=输入第二个日期(年-月-日):
echo wscript.echo DateDiff("d","%d1%","%d2%")>tmp.vbs
for /f %%a in ('cscript /nologo tmp.vbs') do echo.&echo %d1% 和 %d2% 相差 %%a 天
del tmp.vbs
[/code]
ljc007 2011-03-11
  • 打赏
  • 举报
回复
[code=BatchFile]@echo off
rem 指定开始日期
set DateBegin=2010-05-28
rem 指定结束日期
set DateEnd=2010-06-01
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
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
[/code]
Ghostbaby 2011-03-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 forever_young 的回复:]

BatchFile code

@echo off
set /p d1=输入第一个日期(年-月-日):
set /p d2=输入第二个日期(年-月-日):
echo wscript.echo DateDiff("d","%d1%","%d2%")>tmp.vbs
for /f %%a in ('cscript /nologo tmp.vbs') do echo.&echo %d1% 和……
[/Quote]
顶~~
ptsdy 2011-03-11
  • 打赏
  • 举报
回复
没说清楚差是年?月?日?时?

6,850

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧