![Board logo](images/default/logo.gif)
标题: [日期时间] 批处理如何计算两个时间之差并输出? [打印本页]
作者: aa4936 时间: 2012-6-21 19:55 标题: 批处理如何计算两个时间之差并输出?
如何计算两个时间之差并输出?
输入时间
时间1 “2012-06-21 20:00:00”
时间2 “2012-06-22 08:30:00”
输出
时间差“0天 12小时30分钟0秒”
这种格式
作者: poter 时间: 2012-6-22 20:43
回复 1# aa4936
楼主真会刁难人- @echo off
- setlocal enableDelayedExpansion
- set time1=2012-06-21 20:00:00
- set time2=2012-06-22 08:30:00
- call :z1 !time1:~-8,2!&set a=!aa!
- call :z1 !time2:~-8,2!&set b=!aa!
- set /a c1=!b!-!a!
- if not !c1!==0 call :z1 !c1!&set c1=!aa!
- call :z1 !time1:~-5,2!&set a=!aa!
- call :z1 !time2:~-5,2!&set b=!aa!
- set /a c2=!b!-!a!
- if not !c2!==0 call :z1 !c2!&set c2=!aa!
- call :z1 !time1:~-2,2!&set a=!aa!
- call :z1 !time2:~-2,2!&set b=!aa!
- set /a c3=!b!-!a!
- if not !c3!==0 call :z1 !c3!&set c3=!aa!
- call :z1 !time1:~-11,2!&set a=!aa!
- call :z1 !time2:~-11,2!&set b=!aa!
- set /a c4=!b!-!a!
- if not !c4!==0 call :z1 !c4!&set c4=!aa!
- if !c4! geq 1 (
- if !c1!==0 (
- set c4=!c4!
- ) else (
- set /a c4=!c4!-1
- )
- )
- echo 时间差“!c4!天 !c1!小时!c2!分钟!c3!秒”
- pause&exit
- :z1
- set aa=%1
- set "aa=!aa:-=!"
- if "!aa:~0,1!"=="0" set "aa=!aa:~1!"
复制代码
作者: lllsoslll 时间: 2012-6-23 15:11
回复 1# aa4936
在论坛google搜索 edate 和 etime; 结合这两个函数自己定制; 5~6行的代码
作者: tang0991 时间: 2012-6-23 16:46
原来两个时间差是这样算的!!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |