本帖最后由 807979023 于 2019-11-9 14:15 编辑
下面这个批处理只能显示多少秒,
比如100秒,希望显示为1分40秒,
增加的代码不会写了。- :: 计算时间,精确到秒
- @echo off
- color 1f
- set tt1=%time:~0,-3%
- calc.exe
- set tt2=%time:~0,-3%
- :: 截取 h时 f分 s秒
- set h1=%tt1:~0,2%
- set f1=%tt1:~3,2%
- set s1=%tt1:~6,2%
- set h2=%tt2:~0,2%
- set f2=%tt2:~3,2%
- set s2=%tt2:~6,2%
- :: 去掉小时第1个空格
- if "%h1:~0,1%"==" " set h1=%h1:~1%
- if "%h2:~0,1%"==" " set h2=%h2:~1%
- :: 去掉分秒第1个0,最左为0被认为是八进制
- set /a f1=1%f1%-100
- set /a s1=1%s1%-100
- set /a f2=1%f2%-100
- set /a s2=1%s2%-100
- :: 计算
- set /a out=(%h2%-%h1%)*3600+(%f2%-%f1%)*60+%s2%-%s1%
- :: 去掉tt1 tt2第1个空格
- if "%tt1:~0,1%"==" " set tt1=%tt1:~1%
- if "%tt2:~0,1%"==" " set tt2=%tt2:~1%
- echo.
- echo 开始时间: %tt1%
- echo 结束时间: %tt2%
- echo 共计时间: %out% 秒
- echo.
- pause
复制代码
|