![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 15:37 |
共 47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 网上找到的计算日期的批处理,大家看看,有什么BUG吗? |
| 可打印版本 722 / 2 |
| 第1楼 wuhanbin | 发表于 2008-09-05 11:54 |
| 初级用户 发帖 86 积分 191 | |
|
网上找到的计算日期的批处理,大家看看,有什么BUG吗? @echo off
title 日期查询 color 1f if [%1]==[] call :Help call :Date2Day %1 days set/a days=%days%+%2 call :Day2Date %days% date echo. echo -----------结果--------------- echo. echo 你查询的日期为:%date% echo ------------------------------ cmd /k :Date2Day setlocal ENABLEEXTENSIONS for /f "tokens=1-3 delims=/-, " %%a in ('echo/%1') do ( set yy=%%a & set mm=%%b & set dd=%%c ) 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 %2=%j%&goto :EOF :Day2Date setlocal ENABLEEXTENSIONS set /a i=%1,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 %2=%yy%-%mm%-%dd%&goto :EOF :Help cls echo ________________________________________________ echo 使用方法:%~nx0 [日期] [天数] echo. echo 日期格式:2007-03-31 echo 天数格式:+/-查询的天数 echo 示例:%~nx0 2007-03-31 3 就是查询3天后的日期 echo ________________________________________________ echo. cmd /k |
|
| 第2楼 wuhanbin | 发表于 2008-09-05 12:37 |
| 初级用户 发帖 86 积分 191 | |
|
另外,如何修改增加命令,使之能直接读取系统当前日期,并计算后5天日期?
|
|
| 第3楼 HAT | 发表于 2008-09-05 13:17 |
| 版主 发帖 5,017 积分 9,023 | |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |