我一直在使用一个相当简单的时间脚本来跟踪软件的运行时间测量,并使用时钟时间测量来确保它们大致同步。但是,我意识到如果时钟超过午夜,这种方法将完全失败。
现在我正在这样做:
set start=!time!
[Code to measure goes here]
set end=!time!
for /F "tokens=1-4 delims=:.," %%a in ("!start!") do (
set /a "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
)
for /F "tokens=1-4 delims=:.," %%a in ("!end!") do (
set /a "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
)
set /A elapsed=end-start
echo Elapsed Time: !elapsed!
有没有人知道我可以用来解决这个问题的任何巧妙的小技巧?
答案 0 :(得分:2)
if %elapsed% lss 0 set /a elapsed +=8640000
其中8640000是24小时内百分之秒的数字。
当然,如果你使用12小时制(你不会说),你需要使用不同的常数 - 关键时间变为凌晨1点