批处理中怎样进行日期的加减法

例如:日期20130928直接减去1会得到20130927,但是20130901减1会得到20130900,如果我想20130901减1得到20130831应该怎么做呢?... 例如:日期20130928直接减去1会得到20130927,但是20130901减1会得到20130900,如果我想20130901减1得到20130831应该怎么做呢?谢谢!
这种格式也行2013-09-28
展开
 我来答
jd08139
推荐于2017-11-26 · TA获得超过3733个赞
知道大有可为答主
回答量:2174
采纳率:66%
帮助的人:2821万
展开全部

请看一下这篇博客,这篇博客已经把日期算法封装了,直接调用就可以了.

http://www.cnblogs.com/mac_arthur/archive/2011/12/12/2285013.html

例1:

@echo off&setlocal
call :Date2Day "2013-09-30" -1 Day (1天后的日期)
echo %Day%

call :Date2Day "2013-09-30" 10 Day (10天前的日期)
echo %Day%

Pause
Exit
rem   使用方法:call :Date2Day 2007-11-12 2 Day
rem   变量 Day 就是2007-11-12 减2的结果。
:Date2Day 计算指定天数 前/后 的日期 (封装)
@echo off&setlocal
for /f "tokens=1-3 delims=/-:\, " %%a in ('echo/%~1') do (
set /a yy=%%a,mm=100%%b%%100,dd=100%%c%%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
set /a i=j-%~2,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%)
endlocal&set %~3=%yy%%f%%mm%%f%%dd%&goto :EOF

---------------------------------------------------- 分割线 ----------------------------------------------------

@Echo Off
Echo NewDate = DateAdd^("d", Wscript.arguments^(1^), Wscript.arguments^(0^)^)>Day.vbs
Echo Wscript.Echo NewDate>>Day.vbs

Set ymd=2013-09-30
Set d=10
For /f "tokens=*" %%i in ('cscript /nologo Day.vbs %ymd% %d%') do (Echo 日期加十天 %%i)

Set ymd=2013-09-30
Set d=-10
For /f "tokens=*" %%i in ('cscript /nologo Day.vbs %ymd% %d%') do (Echo 日期减十天 %%i)
Pause
Del /q Day.vbs

批处理+vbs计算日期天数,调用Day.vbs来计算日期天数.方法和 "公子七哥"相同.

四季守望
2013-10-01 · TA获得超过6127个赞
知道小有建树答主
回答量:1216
采纳率:57%
帮助的人:479万
展开全部
用vbs里的dateadd计算,用bat取其输出即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈哥深惠通勤
2013-10-08 · TA获得超过1175个赞
知道小有建树答主
回答量:1909
采纳率:33%
帮助的人:825万
展开全部
批处理没有现成的,只能一个个的计算月份,根据月份算天数。要不就找个封装的批处理文件调用它计算。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式