找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24982|回复: 3

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

[复制链接]
发表于 2012-6-21 19:55:21 | 显示全部楼层 |阅读模式
如何计算两个时间之差并输出?

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

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

这种格式
发表于 2012-6-22 20:43:42 | 显示全部楼层
回复 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!"
复制代码
发表于 2012-6-23 15:11:19 | 显示全部楼层
回复 1# aa4936


    在论坛google搜索 edate 和 etime; 结合这两个函数自己定制; 5~6行的代码
发表于 2012-6-23 16:46:00 | 显示全部楼层
原来两个时间差是这样算的!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 06:08 , Processed in 0.016450 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表