[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[日期时间] 批处理如何计算两个时间之差并输出?

如何计算两个时间之差并输出?

输入时间
时间1 “2012-06-21 20:00:00”
时间2 “2012-06-22 08:30:00”

输出
时间差“0天 12小时30分钟0秒”

这种格式

回复 1# aa4936


    楼主真会刁难人
  1. @echo off
  2. setlocal enableDelayedExpansion
  3. set time1=2012-06-21 20:00:00
  4. set time2=2012-06-22 08:30:00
  5. call :z1 !time1:~-8,2!&set a=!aa!
  6. call :z1 !time2:~-8,2!&set b=!aa!
  7. set /a c1=!b!-!a!
  8. if not !c1!==0 call :z1 !c1!&set c1=!aa!
  9. call :z1 !time1:~-5,2!&set a=!aa!
  10. call :z1 !time2:~-5,2!&set b=!aa!
  11. set /a c2=!b!-!a!
  12. if not !c2!==0 call :z1 !c2!&set c2=!aa!
  13. call :z1 !time1:~-2,2!&set a=!aa!
  14. call :z1 !time2:~-2,2!&set b=!aa!
  15. set /a c3=!b!-!a!
  16. if not !c3!==0 call :z1 !c3!&set c3=!aa!
  17. call :z1 !time1:~-11,2!&set a=!aa!
  18. call :z1 !time2:~-11,2!&set b=!aa!
  19. set /a c4=!b!-!a!
  20. if not !c4!==0 call :z1 !c4!&set c4=!aa!
  21. if !c4! geq 1 (
  22. if !c1!==0 (
  23. set c4=!c4!
  24. ) else (
  25. set /a c4=!c4!-1
  26. )
  27. )
  28. echo 时间差“!c4!天 !c1!小时!c2!分钟!c3!秒”
  29. pause&exit
  30. :z1
  31. set aa=%1
  32. set "aa=!aa:-=!"
  33. if "!aa:~0,1!"=="0" set "aa=!aa:~1!"
复制代码

TOP

回复 1# aa4936


    在论坛google搜索 edate 和 etime; 结合这两个函数自己定制; 5~6行的代码
SOS --- >> lllsoslll@163.com

TOP

原来两个时间差是这样算的!!
留言:www.1qqz.com

TOP

返回列表