标题: [已结]set /a中的算式如何理解?
[打印本页]
作者: mysuntjy
时间: 2008-12-20 14:13
标题: [已结]set /a中的算式如何理解?
set /a minute1=1%NowTime:~3,2%-100中
NowTime 被赋值为当前时间.
%NowTime:~3,2%读取起始时间的分钟数,但早上时间显示如:3:01:05.95,小时时间只有一位数,十点钟后小时间才是两位数,都从第四位截取会不会有错?
1%NowTime:~3,2%-100这个算式怎么理解?
[
Last edited by HAT on 2008-12-20 at 22:19 ]
作者: linee
时间: 2008-12-20 16:38
据说这时的小时数还是2位,系统自动补了个空格。
1%NowTime:~3,2%-100是说截取的2位前面补个1变成3位再-100,作用是去0。
作者: mysuntjy
时间: 2008-12-20 17:14
谢谢指点!
但1%NowTime:~3,2%-100如何去0还不是很清楚。
比如:现在时间是3:01:05.95。
在截取分钟时间为01,前面加个1,分钟数变为101,再减去100,又变为01,好象没起什么作用样?
请再指教一下,谢谢!
作者: HAT
时间: 2008-12-20 17:38
标题: Re 3楼
101减去100会变成01么?
你如何测试的?
作者: mysuntjy
时间: 2008-12-20 18:41
我测试了一下,对set /a minute1=1%NowTime:~3,2%-100的作用还是不理解。
[
Last edited by mysuntjy on 2008-12-20 at 18:53 ]
作者: HAT
时间: 2008-12-20 19:48
标题: Re 5楼
把@echo off删除,看看执行过程就理解了。
作者: linee
时间: 2008-12-20 20:07
你可以自己设计个字符串来测试,比如:
set NowTime=18:01:01.56
这样。
作者: mysuntjy
时间: 2008-12-20 20:41
有点懂老,是去掉截取的分钟数的两个字符的前一个零。
谢谢,linee and HAT。确实很久都没搞得懂。
作者: yyyyyyyyy
时间: 2009-1-3 14:47
好像很复杂