![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 01:29 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 关于时间的疑问 |
| 可打印版本 1,113 / 7 |
| 第1楼 ybbao | 发表于 2010-08-22 11:31 |
| 新手上路 发帖 8 积分 8 | |
|
关于时间的疑问 @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点时间段出问题 请教:正确应该如何修改才防止出问题呢? |
|
| 第2楼 doshsyy | 发表于 2010-08-22 13:48 |
| 新手上路 发帖 15 积分 19 | |
|
主要原因是由于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就更加不对了,自己想想看,因为这个条件是不可能满足的,呵呵!
|
|
| 第3楼 ybbao | 发表于 2010-08-22 14:34 |
| 新手上路 发帖 8 积分 8 | |
Originally posted by doshsyy at 2010-8-22 13:48: 的确 现在重新取了小时的数,这样还可以对比,以为又办法避免这个问题呢 |
|
| 第4楼 doshsyy | 发表于 2010-08-22 16:07 |
| 新手上路 发帖 15 积分 19 | |
|
嗯,这样可以避免啊,只取数值的话,if会进行数值大小对比,而不会进行字符串对比。例如,8<23而8:>23:(8>2),你将小时数单独分开进行判断的话可以避免误判的。所以我不知道你为什么要加“以为”?
|
|
| 第5楼 doshsyy | 发表于 2010-08-22 16:27 |
| 新手上路 发帖 15 积分 19 | |
|
这个可以提取当前时间的小时数,分钟数,秒数。
for /F "tokens=1,2,3delims=:" %%i in ("%time%") do echo %%i %%j %%k |
|
| 第6楼 ybbao | 发表于 2010-08-23 11:40 |
| 新手上路 发帖 8 积分 8 | |
Originally posted by doshsyy at 2010-8-22 16:27: 感谢,这样也可以,已用%time:0,2%解决 |
|
| 第7楼 mxzenf | 发表于 2010-08-26 19:54 |
| 新手上路 发帖 9 积分 15 | |
|
学到了。
<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> |
|
| 第8楼 mxzenf | 发表于 2010-08-26 19:58 |
| 新手上路 发帖 9 积分 15 | |
|
学到了。。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |