中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 关于时间的疑问 上一主题 | 下一主题
ybbao
新手上路





积分 8
发帖 8
注册 2010-8-12
状态 离线
『楼 主』:  关于时间的疑问

@echo off
if %time% gtr 23:00:00.00 if %time% lss 23:59:59.00 echo 5
if %time% gtr 0:00:00.00 if %time% lss 8:00:00.00 echo 6
pause

第一句:if %time% gtr 23:00:00.00 if %time% lss 23:59:59.00 echo 5
可以正常运行

第二句:if %time% gtr 0:00:00.00 if %time% lss 8:00:00.00 echo 6
如果时间在0点~8点无问题
但当时间更改10点~23点就会出问题,都一样执行

如果更改:if %time% gtr 00:00:00.00 if %time% lss 08:00:00.00 echo 6
反而在0点~8点时间段出问题

请教:正确应该如何修改才防止出问题呢?

2010-8-22 11:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
doshsyy
新手上路





积分 19
发帖 15
注册 2010-8-20
状态 离线
『第 2 楼』:  

主要原因是由于0~9点之间小时显示前面的0的省略造成的,使得十进制时间进位后进行字符串比较时用一个的十位与另一个的个位比(如23比8点成了2比8,应该是23比08的)(强烈建议Microsoft,不要省略0~9点小时表示前面的0,分钟就没省略,所以分钟是不会错的),还有你将时间变为if %time% gtr 00:00:00.00 if %time% lss 08:00:00.00 echo 6就更加不对了,自己想想看,因为这个条件是不可能满足的,呵呵!

2010-8-22 13:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ybbao
新手上路





积分 8
发帖 8
注册 2010-8-12
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by doshsyy at 2010-8-22 13:48:
主要原因是由于0~9点之间小时显示前面的0的省略造成的,使得十进制时间进位后进行字符串比较时用一个的十位与另一个的个位比(如23比8点成 ...

的确

现在重新取了小时的数,这样还可以对比,以为又办法避免这个问题呢

2010-8-22 14:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
doshsyy
新手上路





积分 19
发帖 15
注册 2010-8-20
状态 离线
『第 4 楼』:  

嗯,这样可以避免啊,只取数值的话,if会进行数值大小对比,而不会进行字符串对比。例如,8<23而8:>23:(8>2),你将小时数单独分开进行判断的话可以避免误判的。所以我不知道你为什么要加“以为”?

2010-8-22 16:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
doshsyy
新手上路





积分 19
发帖 15
注册 2010-8-20
状态 离线
『第 5 楼』:  

这个可以提取当前时间的小时数,分钟数,秒数。
for /F "tokens=1,2,3delims=:" %%i in ("%time%") do echo %%i %%j %%k


2010-8-22 16:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ybbao
新手上路





积分 8
发帖 8
注册 2010-8-12
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by doshsyy at 2010-8-22 16:27:
这个可以提取当前时间的小时数,分钟数,秒数。
for /F "tokens=1,2,3delims=:" %%i in ("%time%") do echo %%i %%j %%k

感谢,这样也可以,已用%time:0,2%解决

2010-8-23 11:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mxzenf
新手上路





积分 15
发帖 9
注册 2007-11-13
状态 离线
『第 7 楼』:  

学到了。
<table cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="width:290px;border: 1px solid #E6E6E6;"><tr><td rowspan="2" align="center"><div style="margin:5px auto; width: 80px;height:80px;"><a target="_blank" href="http://s.click.taobao.com/t_1?i=rpJab2vlYpiknA%3D%3D&p=mm_17955000_0_0&n=12" style="width: 80px; margin:0px;padding:0px;height: 80px; overflow:hidden;"><img style="margin:0px;border:none;" src="http://image.taobao.com/bao/uploaded/http://img03.taobaocdn.com/bao/uploaded/i3/T1.DdIXfpDXXbPi7M8_071350.jpg_sum.jpg"></a></div><div class="clearing"></div></td><td colspan="2" ><a target="_blank" href="http://s.click.taobao.com/t_1?i=rpJab2vlYpiknA%3D%3D&p=mm_17955000_0_0&n=12"  style="height:40px;width:180px;margin:5px;line-height:20px;color:#0000FF">中悦科技促销空间1G虚拟主机促销1G空间送100M数据库MYSQL/MYSQL2</a></td></tr><tr><td nowrap="nowrap" > <span style="font-weight:600;margin:5px;line-height:30px;color:#CC0000;">100.0元</span> </td><td nowrap="nowrap" width="100px" ><a target="_blank"href="http://s.click.taobao.com/t_1?i=rpJab2vlYpiknA%3D%3D&p=mm_17955000_0_0&n=12"><img name="" style="margin:0px; pandding:0px;line-height:24px;vertical-align: text-bottom;border:none;"  src="http://img.alimama.cn/images/tbk/cps/fgetccode_btn.gif"></a></td></tr></table>



http://s.click.taobao.com/t_1?i=rpJab2vlYpiknA%3D%3D&p=mm_17955000_0_0&n=11
2010-8-26 19:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mxzenf
新手上路





积分 15
发帖 9
注册 2007-11-13
状态 离线
『第 8 楼』:  

学到了。。



http://s.click.taobao.com/t_1?i=rpJab2vlYpiknA%3D%3D&p=mm_17955000_0_0&n=11
2010-8-26 19:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: