中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 14:22
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 谁能帮忙写一个日期加减的代码 VBS BAT都行 见要求 查看 1,151 回复 3
楼 主 谁能帮忙写一个日期加减的代码 VBS BAT都行 见要求 发表于 2010-03-05 01:16 ·  中国 湖南 常德 电信
中级用户
★★
积分 231
发帖 102
注册 2008-01-25 23:45
18年会员
UID 109557
性别 男
状态 离线
效果是

假如今天是
日期A 天数 日期B
03/04 + 10 = 03/14
03/04 + 30 = 04/03

日期A和天数都要能手动输入


反过来也要有减的功能
2 发表于 2010-03-05 09:30 ·  中国 北京 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
3 发表于 2010-03-05 09:38 ·  中国 北京 中电华通通信有限公司
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
VBS的

DateStr = InputBox("输入一个日期,推荐使用下列格式之一" & vbCrLf & vbCrLf & "2010-03-05" & vbCrLf & "2010-3-5" & vbCrLf & "Mar 5, 2010" & vbCrLf & "2010年3月5日", "输入日期", Date)
DayRange = InputBox("输入一个加或者减的天数,带符号,比如" & vbCrLf & vbCrLf & "+10" & vbCrLf & "-3", "输入天数")
rsDate = CDate(DateStr) + CInt(DayRange)
WScript.Echo rsDate


或者可以将此代码嵌入BAT中,输入的参数和上面相同:

@echo off
set /p riqi=输入日期:
set /p tianshu=加减天数:
call :CALCDATE "%riqi%" "%tianshu%" jieguo
echo.
echo 计算的结果是 %jieguo% 。
pause>nul
exit

:CALCDATE
> %temp%\~$ching$.tmp echo WScript.Echo (CDate(WScript.Arguments(0)) + CInt(WScript.Arguments(1)))
for /f "delims=" %%a in ('cscript -nologo -e:vbs %temp%\~$ching$.tmp "%~1" "%~2"') do (set "%3=%%a")
del /q %temp%\~$ching$.tmp


[ Last edited by qinchun36 on 2010-3-5 at 10:03 ]
┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
4 发表于 2010-03-05 23:40 ·  中国 湖南 常德 电信
中级用户
★★
积分 231
发帖 102
注册 2008-01-25 23:45
18年会员
UID 109557
性别 男
状态 离线
特意回贴感谢的 效果很理想, 谢谢
论坛跳转: