标题: 在 VBS 中关于 Now 直接与一个数的加减运算问题?[已解决]
[打印本页]
作者: newxso
时间: 2010-1-21 22:54
标题: 在 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 ]
作者: HAT
时间: 2010-1-22 00:33
0.125 * 8 = 1
3 * 8 = 24 小时(1天)
作者: slore
时间: 2010-1-22 02:01
Now+1 加1天
知道这个不是就清楚了麽
作者: newxso
时间: 2010-1-22 19:16
原来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 ]