Board logo

标题: [数值计算] 求批处理计算时间差-超过24小时 [打印本页]

作者: yexingqi    时间: 2019-3-15 10:47     标题: 求批处理计算时间差-超过24小时

大家好,我一直用的是这个脚本来计算24小时内的时间差. 但这个脚本有二个缺点:

1. 有些系统习惯设置成12小时制度, 会导致这个脚本计算错误.
2. 不能计算超过24小时的时间差.
  1. @echo off
  2. set t1=%time:~0,8%
  3. set t2=%time:~0,8%
  4. set s1=1%t1:~6,2%
  5. set /a s1=s1%%100
  6. set s2=1%t2:~6,2%
  7. set /a s2=s2%%100
  8. set m1=1%t1:~3,2%
  9. set /a m1=m1%%100
  10. set m2=1%t2:~3,2%
  11. set /a m2=m2%%100
  12. set h1=1%t1:~0,2%
  13. set /a h1=h1%%100
  14. set h2=1%t2:~0,2%
  15. set /a h2=h2%%100
  16. if %s2% lss %s1% set /a s2+=60&set /a  m2-=1
  17. if %m2% lss %m1% set /a m2+=60&set /a h2-=1
  18. set /a s3=s2-s1
  19. set /a m3=m2-m1
  20. set /a h3=h2-h1
  21. echo 共用时%h3%小时%m3%分钟%s3%秒
复制代码
请问一下,有什么办法可以让它不受12小时制和24小时制的影响,并且可以计算超过1天的时间呢? 谢谢了!!!
作者: Batcher    时间: 2019-3-15 10:57

http://bbs.bathome.net/thread-11128-1-1.html
作者: yexingqi    时间: 2019-3-15 11:29

本帖最后由 yexingqi 于 2019-3-15 11:31 编辑

回复 2# Batcher


    太感谢了. 我之前也搜索了一下,没找到这个主题. 请教一下,那个StartTime和EndTime能让它从命令行中自动获得么? 不管是12小时制的还是24小时制的系统.获得统一的一种格式,就像您列出来的2010-01-18 01:02:03?

再次感谢!!!
作者: Batcher    时间: 2019-3-15 13:26

回复 3# yexingqi


参考方案1和方案2
http://bbs.bathome.net/thread-3328-1-1.html
作者: yexingqi    时间: 2019-3-15 13:43

回复 4# Batcher


    哗,利害!!!! !!!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2