使用bat下计算时间间隔的问题

2 篇文章 0 订阅

     bat中定义了一系列的全局变量, bat主体程序中调用定义的函数接口, 实现计算时间间隔的方法, 直接上代码

set _timeTemp=0
rem ......... 主函数体
call:GetTimeSeconds %time%
set time1=%_timeTemp%
rem choice  等待5秒 再计算另外一个时间点
choice /t  5 /d y /n >nul
call:GetTimeSeconds %time%
set time2=%_timeTemp%
set /a interTime=%time1% - %time2%
echo %interTime%
:GetTimeSeconds
set tt=%1
rem windows下%time%时间的格式一般为hour:minute:second.number 下面两行只是去掉冒号和顿号变成hour minute second number ,此处只是取hour minute second
set tt=%tt:.= %
set tt=%tt::= %
set index=1
for %%a in (%tt%) do (
    if !index! EQU 1 (
        set hh=%%a
    )^
    else if  !index! EQU 2 (
        set mm=%%a

    )^
    else if  !index! EQU 3 (
        set ss=%%a
    )
   set /a index=index+1
)
set /a _timeTemp=(%hh%*60+%mm%)*60+%ss%
goto:eof

  记得如果 time1、time2是在bat中for、if等符合语句中时, 记得开启变量延迟setlocal enabledelayedexpansion ,  另外获取 time1、time2的值的时候,不用%time1%、%time2%,而使用!time1!、!time2! 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值