中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]纯dos实现给定两个日期间隔的天数?
作者:
标题: [求助]纯dos实现给定两个日期间隔的天数? 上一主题 | 下一主题
microshaoft
新手上路





积分 4
发帖 4
注册 2009-11-24
状态 离线
『楼 主』:  [求助]纯dos实现给定两个日期间隔的天数?

[求助]纯dos实现给定两个日期间隔的天数?
类似于 vbs的datediff
谢谢先

2009-11-28 14:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

批处理函数库里面有计算日期、时间、星期的方法
http://www.cn-dos.net/forum/viewthread.php?tid=45204



2009-11-28 15:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 3 楼』:  

你以为DOS是白粉啊,还有纯不纯DOS的说法。
实在太搞笑了。

   此帖被 +5 点积分     点击查看详情   
评分人:【 netbenton 分数: +3  时间:2009-11-28 19:04
评分人:【 DOSforever 分数: +2  时间:2009-11-30 21:13





有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-11-28 18:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
newxso
初级用户

l i u s s


积分 73
发帖 101
注册 2008-9-17
来自 GZ
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by yishanju at 2009-11-28 18:40:
你以为DOS是白粉啊,还有纯不纯DOS的说法。
实在太搞笑了。

纯DOS是指DOS操作系统(通常要用DOS启动盘进入),它不同于Windows下命令提示符中启动的DOS。在本论坛中的 《DOS疑难解答 & 问题讨论 (解答室) 》就是以研究纯DOS为主。

2009-11-29 11:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by newxso at 2009-11-29 11:19:


纯DOS是指DOS操作系统(通常要用DOS启动盘进入),它不同于Windows下命令提示符中启动的DOS。在本论坛中的 《DOS疑难解答 & 问题讨论 (解答室) 》就是以研究纯DOS为主。

那得看你所说的 Windows 是哪种类型的 Windows,如果是对 Windows 9x/Me 的话或许可以说不同于命令提示符中启动的 DOS 。

http://www.cn-dos.net/forum/viewthread.php?tid=37268



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2009-11-30 21:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 6 楼』:  回正题

可以试下 4DOS 的 @doy 变量函数,当然,还要用 @eval 变量函数计算一下。比如,计算下今天 11-30-2009 距 6-4-2009 相差几天,可以用  %@eval[%@doy[11-30-09]-%@doy[6-4-09]] 这个表达式得出。不过这个不能跨年计算,不知能否符合你的要求。



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2009-11-30 21:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tongzj
初级用户





积分 49
发帖 43
注册 2007-1-20
状态 离线
『第 7 楼』:  抛砖引玉

@echo off
setlocal enabledelayedexpansion
set /p date1=请输入日期1(格式:年-月-日):
set /p date2=请输入日期1(格式:年-月-日):
call :date2days %date1%
set date1=%days%
call :date2days %date2%
set date2=%days%
set /a interval=%date2%-%date1%
echo 间隔天数:%interval%
pause
goto :eof

:date2days
set days=
set var=%1
set year1=%var:~0,4%
set month1=%var:~5,2%
if /i %month1% lss 10 (set /a month1=%month1:~1,1%-1) else (set /a month1=%month1%-1)
set day1=%var:~8,2%
if /i %day1% lss 10 set day1=%day1:~1,1%

set /a runyear=%year1%%%4
set m1=31
if /i %runyear%==0 (set m2=29) else (set m2=28)
set m3=31
set m4=30
set m5=31
set m6=30
set m7=31
set m8=31
set m9=30
set m10=31
set m11=30
set m12=31

for /l %%a in (1,1,%month1%) do (set /a day1=!day1!+!m%%a!)
set /a days=%year1%*365+%year1%/4+%day1%

2009-12-1 16:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: