批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[日期时间] [已解决]求助,批处理显示时间问题

本帖最后由 807979023 于 2019-11-9 14:15 编辑

下面这个批处理只能显示多少秒,
比如100秒,希望显示为1分40秒,
增加的代码不会写了。
  1. :: 计算时间,精确到秒
  2. @echo off
  3. color 1f
  4. set tt1=%time:~0,-3%
  5. calc.exe
  6. set tt2=%time:~0,-3%
  7. :: 截取 h时 f分 s秒
  8. set h1=%tt1:~0,2%
  9. set f1=%tt1:~3,2%
  10. set s1=%tt1:~6,2%
  11. set h2=%tt2:~0,2%
  12. set f2=%tt2:~3,2%
  13. set s2=%tt2:~6,2%
  14. :: 去掉小时第1个空格
  15. if "%h1:~0,1%"==" " set h1=%h1:~1%
  16. if "%h2:~0,1%"==" " set h2=%h2:~1%
  17. :: 去掉分秒第1个0,最左为0被认为是八进制
  18. set /a f1=1%f1%-100
  19. set /a s1=1%s1%-100
  20. set /a f2=1%f2%-100
  21. set /a s2=1%s2%-100
  22. :: 计算
  23. set /a out=(%h2%-%h1%)*3600+(%f2%-%f1%)*60+%s2%-%s1%
  24. :: 去掉tt1 tt2第1个空格
  25. if "%tt1:~0,1%"==" " set tt1=%tt1:~1%
  26. if "%tt2:~0,1%"==" " set tt2=%tt2:~1%
  27. echo.
  28. echo 开始时间: %tt1%
  29. echo 结束时间: %tt2%
  30. echo 共计时间: %out% 秒
  31. echo.
  32. pause
复制代码

回复 1# 807979023


参考:批处理计算计算时间差
http://bbs.bathome.net/thread-3372-1-1.html
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

本帖最后由 ivor 于 2019-11-8 20:28 编辑

忍不住用powershell了;囧
  1. 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
qq:250193966

TOP

  1. powershell -c "((Get-Date '%tt2%') - (Get-Date '%tt1%')).ToString()"
复制代码
  1. powershell -c "(Get-Date '%tt2%').Subtract((Get-Date '%tt1%')).ToString()"
复制代码

TOP

感谢各位指点,已解决。

TOP

返回列表