标题: [分享][推荐][原创]关于时间的计算的另一个解决技巧
[打印本页]
作者: scriptor
时间: 2007-9-14 17:03
标题: [分享][推荐][原创]关于时间的计算的另一个解决技巧
@echo off
echo 自动计时
echo.
set r=%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
echo %r%
set/p n="你要的数(以毫秒计数)"
echo 实现加运算
set /a tn=r+n
echo %tn%
set ms=%tn:~-2%
if %tn:~-4,2% gtr 60 (set /a s=%tn:~-4,2%-60) else set s=%tn:~-4,2%
if %tn:~-6,2% gtr 60 (set /a m=%tn:~-6,2%-60) else set m=%tn:~-6,2%
if %tn:~0,2% gtr 60 (set /a h=%tn:~0,2%-60) else set h=%tn:~0,2%
echo new is: %h%:%m%:%s%.%ms%
echo.
echo 实现减运算
set /a tn=r-n
echo %tn%
set ms=%tn:~-2%
if %tn:~-4,2% gtr 60 (set /a s=%tn:~-4,2%-40) else set s=%tn:~-4,2%
if %tn:~-6,2% gtr 60 (set /a m=%tn:~-6,2%-40) else set m=%tn:~-6,2%
if %tn:~0,2% gtr 60 (set /a h=%tn:~0,2%-40) else set h=%tn:~0,2%
echo new is: %h%:%m%:%s%.%ms%
echo.
pause
发这个原因是
板上好多讨论时间计算的问题
有比如 某一段出现了0啊就不能运算了
这里
我提供一个解决方法
可能有考虑不周
就目前而言,测试未出错
WinXP SP2 CMD.exe 24时制
作者: scriptor
时间: 2007-9-14 17:09
Quote: |
Originally posted by scriptor at 2007-9-14 17:03:
[code]
@echo off
echo 自动计时
echo.
set r=%time:~0,2%%time:~3,2%%time:~6,2%%time:~9,2%
echo %r%
set/p n="你要的数(以毫秒计数)"
echo 实现加运算
set /a tn=r+n
... |
|
1: http://www.cn-dos.net/forum/view ... 4%E5%B0%8F%E6%97%B6
2: http://www.cn-dos.net/forum/view ... 4%E5%B0%8F%E6%97%B6
3: 这个是我以前写的,就有0运算的问题(set /a xx=03+1 不能得到正常的结果)
http://www.cn-dos.net/forum/view ... 4%E5%B0%8F%E6%97%B6
4: 还有很多,搜索"时间,24小时"等关键字时,里面的某些程序会碰到这个问题
也许有人有更好的解决方法,我没有看到
那就当我是在献丑了吧
一起改进.
作者: scriptor
时间: 2007-9-14 17:45
哦,我忘记把输入换成标准的时分秒毫秒的格式了
对某些输入,结果是错的
等下来改改
~~~~~~~~
数字转换部分已写入
http://www.cn-dos.net/forum/viewthread.php?tid=33611&fpage=1
[
Last edited by scriptor on 2007-9-17 at 02:15 AM ]