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

[数值计算] 求批处理计算时间差-超过24小时

[复制链接]
发表于 2019-3-15 10:47:53 | 显示全部楼层 |阅读模式
大家好,我一直用的是这个脚本来计算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天的时间呢? 谢谢了!!!
发表于 2019-3-15 10:57:03 | 显示全部楼层
 楼主| 发表于 2019-3-15 11:29:06 | 显示全部楼层
本帖最后由 yexingqi 于 2019-3-15 11:31 编辑

回复 2# Batcher


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

再次感谢!!!
发表于 2019-3-15 13:26:13 | 显示全部楼层
回复 3# yexingqi


参考方案1和方案2
http://bbs.bathome.net/thread-3328-1-1.html
 楼主| 发表于 2019-3-15 13:43:34 | 显示全部楼层
回复 4# Batcher


    哗,利害!!!! !!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 02:04 , Processed in 0.026330 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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