标题: [日期时间] [已解决]求助,批处理显示时间问题 [打印本页]
作者: 807979023 时间: 2019-11-8 19:00 标题: [已解决]求助,批处理显示时间问题
本帖最后由 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
复制代码
作者: Batcher 时间: 2019-11-8 19:58
回复 1# 807979023
参考:批处理计算计算时间差
http://bbs.bathome.net/thread-3372-1-1.html
作者: ivor 时间: 2019-11-8 20:16
本帖最后由 ivor 于 2019-11-8 20:28 编辑
忍不住用powershell了;囧- powershell "'共计时间:{0}' -f (([System.DateTime]'0:0:0') + (([System.DateTime]'%tt2%')-([System.DateTime]'%tt1%'))).GetDateTimeFormats('T')[0]"
复制代码
:: 计算时间,精确到秒
@echo off
color 1f
set tt1=%time:~0,-3%
calc.exe
set tt2=%time:~0,-3%
echo.
echo 开始时间: %tt1%
echo 结束时间: %tt2%
powershell "'共计时间:{0}' -f (([System.DateTime]'0:0:0') + (([System.DateTime]'%tt2%')-([System.DateTime]'%tt1%'))).GetDateTimeFormats('T')[0]"
echo.
pause
作者: terse 时间: 2019-11-8 23:12
- powershell -c "((Get-Date '%tt2%') - (Get-Date '%tt1%')).ToString()"
复制代码
- powershell -c "(Get-Date '%tt2%').Subtract((Get-Date '%tt1%')).ToString()"
复制代码
作者: 807979023 时间: 2019-11-9 14:16
感谢各位指点,已解决。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |