[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 如何用bat比较时间

比如现在的时间是17:18  就是用time/t 可以得到
然后我只要看 分钟(18)  
分钟<30  显示 17:30
分钟>=30 显示 18:00

可不可以用bath 来做? 谢谢

[ 本帖最后由 zsfeng 于 2009-2-24 11:51 编辑 ]

看到2个把时间+10分钟的 但是不会修改
  1. @echo off
  2. set aDate=%time: =%
  3. 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
  4. if %n2% gtr 59 set/a n1+=1
  5. set/a h2=n2%%60,n1=n1%%24
  6. echo %aDate% 10分钟后时间  %n1%:%h2%:%n3%:%n4%
  7. echo\&pause&exit
复制代码
  1. @echo off
  2. :lp
  3. set /a t=%time:~,2%,m=1%time:~3,2%%%100+10
  4. set "s=%time:~6%"
  5. if %m% geq 60 set /a m-=60,t+=1
  6. if %t% geq 24 set /a t-=24
  7. set /p=%t%:%m%:%s%<nul
  8. for /l %%i in (1,1,20) do set /p=<nul
  9. goto lp
复制代码

TOP

谢谢 我的意思是这样
  1. @echo off
  2. set /a t=%time:~,2%,m=1%time:~3,2%%%100
  3. if %m% geq 30 set /a t+=1 (
  4. echo %t%:00
  5. ) else (
  6. echo %t%:30)
  7. @pause
复制代码
但是这样 会出现2个 结果 好像那个else 没有起到作用

TOP

请问该怎么改 我试了把 set /a t+=1 放到括号里面 好像结果就不对了

TOP

返回列表