标题: [数值计算] 如何用bat比较时间 [打印本页]
作者: zsfeng 时间: 2009-2-23 17:33 标题: 如何用bat比较时间
比如现在的时间是17:18 就是用time/t 可以得到
然后我只要看 分钟(18)
分钟<30 显示 17:30
分钟>=30 显示 18:00
可不可以用bath 来做? 谢谢
[ 本帖最后由 zsfeng 于 2009-2-24 11:51 编辑 ]
作者: zsfeng 时间: 2009-2-25 10:22
看到2个把时间+10分钟的 但是不会修改- @echo off
- set aDate=%time: =%
- for /f "tokens=1-4 delims=:." %%i in ("%aDate%") do set/a n1=100%%i%%100,n2=100%%j%%100+10,n3=100%%k%%100,n4=100%%l%%100
- if %n2% gtr 59 set/a n1+=1
- set/a h2=n2%%60,n1=n1%%24
- echo %aDate% 10分钟后时间 %n1%:%h2%:%n3%:%n4%
- echo\&pause&exit
复制代码
- @echo off
- :lp
- set /a t=%time:~,2%,m=1%time:~3,2%%%100+10
- set "s=%time:~6%"
- if %m% geq 60 set /a m-=60,t+=1
- if %t% geq 24 set /a t-=24
- set /p=%t%:%m%:%s%<nul
- for /l %%i in (1,1,20) do set /p=<nul
- goto lp
复制代码
作者: batman 时间: 2009-2-25 10:54
- @echo off
- set /a t=1%time:~3,2%%%100
- if %t% geq 30 (
- echo 18:00
- ) else (
- echo 17:30
- )
- pause>nul
复制代码
作者: zsfeng 时间: 2009-2-25 11:29
谢谢 我的意思是这样- @echo off
- set /a t=%time:~,2%,m=1%time:~3,2%%%100
- if %m% geq 30 set /a t+=1 (
- echo %t%:00
- ) else (
- echo %t%:30)
- @pause
复制代码
但是这样 会出现2个 结果 好像那个else 没有起到作用
作者: Batcher 时间: 2009-2-25 11:31 标题: 回复 4楼 的帖子
if命令的语法错了
作者: zsfeng 时间: 2009-2-25 11:51
请问该怎么改 我试了把 set /a t+=1 放到括号里面 好像结果就不对了
作者: Batcher 时间: 2009-2-25 19:07 标题: 回复 6楼 的帖子
可到http://bbs.bathome.net/thread-2189-1-1.html学习一下变量延迟扩展的讲解
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |