中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 23:14
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 在 VBS 中关于 Now 直接与一个数的加减运算问题?[已解决]
可打印版本  884 / 3
第1楼 newxso 发表于 2010-01-21 22:54
初级用户 发帖 101 积分 73 来自 GZ
在 VBS 中关于 Now 直接与一个数的加减运算问题?[已解决]
在VBS中:

Now+0.00001 加1秒
Now+0.0001 加9秒
Now+0.001 加86秒
Now+0.125 加3小时
Now-0.125 减3小时
Now+1 加1天
Now+2 加2天
Now+3.125 加3天3小时

以上结果是测试得出,但不知其中规律。 例如 0.125 表示 3 小时,是否通过某些进制换算出来呢? 有待这方面的高手解疑。

[ Last edited by newxso on 2010-1-22 at 19:17 ]
第2楼 HAT 发表于 2010-01-22 00:33
版主 发帖 5,017 积分 9,023
0.125 * 8 = 1
3 * 8 = 24 小时(1天)
第3楼 slore 发表于 2010-01-22 02:01
铂金会员 发帖 2,478 积分 5,212
Now+1 加1天

知道这个不是就清楚了麽
第4楼 newxso 发表于 2010-01-22 19:16
初级用户 发帖 101 积分 73 来自 GZ
原来VBS能够自动把十进制数转换成24进制数。

0.125 * 24 = 3
3 / 24 = 0.125

由于 1 / 24 = 0.041666666666666666666666666666667 参考 Now+0.00001 表示加1秒,取 1 / 24 = 0.04167 则:

Wsh.Echo Now+0.04167

刚好显示加了1小时。此方法可能不够精确。其实,日期的准确加减法是用 DateAdd :

Wsh.Echo DateAdd("s", 1, Now) 加1秒
Wsh.Echo DateAdd("s", -1, Now) 减1秒
Wsh.Echo DateAdd("n", 2, Now) 加2分钟
Wsh.Echo DateAdd("h", 3, Now) 加3小时
Wsh.Echo DateAdd("d", 1, Now) 加1天
Wsh.Echo DateAdd("m", 1, Now) 加1个月
Wsh.Echo DateAdd("yyyy", 1, Now) 加1年

[ Last edited by newxso on 2010-1-23 at 22:25 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023