中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 21:15
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助] 时间计算的方法!
可打印版本  3,052 / 19
第1楼 geffhv 发表于 2008-02-29 16:03
社区乞丐 发帖 8 积分 -51 来自 四川省南充市嘉陵区
[求助] 时间计算的方法!
我想做一个四则运算的批处理
主要用来做加时间的
像 14:48到 22:48 = 8个小时
怎么实现
求助!
计时的好了吧
和跑表一样的功能

[ Last edited by geffhv on 2008-3-1 at 10:34 PM ]
第2楼 plp626 发表于 2008-02-29 16:11
银牌会员 发帖 1,020 积分 2,278
没怎么明白
说详细些
第3楼 fastslz 发表于 2008-02-29 16:22
铂金会员 发帖 2,315 积分 5,493 来自 上海
第4楼 plp626 发表于 2008-02-29 17:46
银牌会员 发帖 1,020 积分 2,278
呵呵,向你学习vbs了!

这个帖子和下面的帖子很类似呀.也同样是我和fastslz跟帖.
批处理怎样计算时间


http://www.cn-dos.net/forum/viewthread.php?tid=37382&fpage=1&highlight=###
第5楼 26933062 发表于 2008-03-01 00:12
银牌会员 发帖 879 积分 2,268
纯批也可以,
但没作00:点的判断处理。
第6楼 nanhui112 发表于 2008-03-07 20:44
初级用户 发帖 59 积分 127
代码就不写啦 ^_^
1:确定时间格式 a=Tt:Mm:Ss a1=tt:mm:ss 24小时制
2: 提取a小时位,分钟位,秒数位 %a:~0,2% %a:~3,2% %a:~6,2%
提取a1小时位,分钟位,秒数位 %a1:~0,2% %a1:~3,2% %a1:~6,2%
3: 对a 判断T,M,S 位判断是否为0
%a:~0,1% %a:~3,1% %a:~6,1% 如果为0 用set %a:~0,2%=%a:~1,1% 依此类推 同理a1 也要判断。
4: 计算差
set/a tt-Tt mm-Mm ss-Ss 并对最后结果用if判断是否小于0 ,如果是0 时间位加上24 分数位加上60 秒数位加上60,再对每次结果是否小于(lss)10 进行判断 如果是 用set 进行补0 如 用t代表tt-Tt的结果 if %t% lss 10 (set t=0t) 依此类推分数,秒数位。
5: 输出结果 echo 格式 t:m:s
--------------仅支持24小时以内,一起加油。晕 -- 加24 或 60 时 要记得高位减一计算 !!!

[ Last edited by nanhui112 on 2008-3-7 at 08:55 PM ]
第7楼 terse 发表于 2008-03-07 20:51
银牌会员 发帖 946 积分 2,404
去掉原来的 替换一个现在的


这个计算运行时间,精确到最后两位


[ Last edited by terse on 2008-4-10 at 12:51 PM ]
第8楼 geffhv 发表于 2008-03-09 21:03
社区乞丐 发帖 8 积分 -51 来自 四川省南充市嘉陵区
谢谢大家
但没我要的
第9楼 plp626 发表于 2008-03-10 00:22
银牌会员 发帖 1,020 积分 2,278
只为学习--------你要何?
我当一回雷锋
第10楼 woo88 发表于 2008-03-11 17:28
初级用户 发帖 96 积分 188
一样
第11楼 klyx 发表于 2008-04-09 21:42
新手上路 发帖 8 积分 16
Originally posted by terse at 2008-3-7 08:51 PM:
我来一个
写错一字符 改
@echo off
set Date1=01:35:18
set Date2=21:58:55
for /f "tokens=1-3 delims=:" %%i in ("%Date1%") do (
set h1=%%i
set h2=%%j
...



当set Date2=21:09:08
出错了
01:35:18 到 21:09:08 = 19 小时 24 分 42 秒
01:35:18 到 21:07:07 = 19 小时 31 分 49 秒
第12楼 terse 发表于 2008-04-09 22:47
银牌会员 发帖 946 积分 2,404
Originally posted by klyx at 2008-4-9 21:42:



当set Date2=21:09:08
出错了
01:35:18 到 21:09:08 = 19 小时 24 分 42 秒
01:35:18 到 21:07:07 = 19 小时 31 分 49 秒

可能是0开头的问题
第13楼 klyx 发表于 2008-04-10 11:09
新手上路 发帖 8 积分 16
Originally posted by terse at 2008-4-9 10:47 PM:

可能是0开头的问题

是个位8,9问题
第14楼 terse 发表于 2008-04-10 12:22
银牌会员 发帖 946 积分 2,404
Originally posted by klyx at 2008-4-10 11:09:

是个位8,9问题

说的对,更确切的说应该是在十位是0时 个位大于7就会出错,
第15楼 klyx 发表于 2008-04-10 14:53
新手上路 发帖 8 积分 16
怎样读取time.txt最后一行时间
time.txt:

2008-04-10 星期四
12:42:15
2008-04-10 星期四
12:42:16
2008-04-10 星期四
12:42:17
2008-04-10 星期四
12:42:18
2008-04-10 星期四
12:42:19
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023