51Testing软件测试论坛

标题: 如何算出两个时间之间的差啊? [打印本页]

作者: 开朗幽默    时间: 2010-8-6 13:53
标题: 如何算出两个时间之间的差啊?
有两个webedit,分别是开始时间和结束时间,其格式为yyyymm,现在要用结束时间减去开始时间,算其差为几个月,有没有办法可以实现啊?

[ 本帖最后由 开朗幽默 于 2010-8-6 15:38 编辑 ]
作者: TIB    时间: 2010-8-6 14:10
用DateDiff 函数
作者: 开朗幽默    时间: 2010-8-6 15:47
标题: 回复 2# 的帖子
不行啊,要报错。代码如下:
dt1 = Browser("Browser").Page("Page").Frame("Frame").Webedit("starttime").GetROproperty("value")
dt2 = Browser("Browser").Page("Page").Frame("Frame").Webedit("starttime").GetROproperty("value")
m1 = DateDiff(mm,dt1,dt2)
m2 = Browser("Browser").Page("Page").Frame("Frame").Webedit("mouthcount").GetROproperty("value")
if m2 = m1 then
    ......
msgbox dt1 = 200910,msgbox dt2 = 201008,直接运行后,在m1行报错。用CDate转换格式后,msgbox dt1 = 2052-05-06,晕死。。。
作者: xhhuang1618    时间: 2010-8-6 16:20
标题: 回复 3# 的帖子
DateDiff中的参数错了,改成下面的试试
m1 = DateDiff(n,dt1,dt2)
作者: TIB    时间: 2010-8-6 16:29
先把dt1和dt2 的格式整理一下,例如 2009-10
作者: 开朗幽默    时间: 2010-8-6 16:32
标题: 回复 5# 的帖子
不晓得应该怎么整理。CDate用过了,不对。
作者: 开朗幽默    时间: 2010-8-6 16:33
标题: 回复 4# 的帖子
计算两个日期的月份差,不是mm啊?
作者: 17800455    时间: 2010-8-6 16:35
dt2 = Date()
kk = "2009-1-2"
If IsDate(kk) then
dt1 = CDate(kk)
MsgBox dt1
End if
m1 = DateDiff("yyyy",dt1,dt2)
MsgBox m1
'm1应该是一年。你的参数设置错了。
作者: 开朗幽默    时间: 2010-8-6 17:03
标题: 回复 8# 的帖子
我的目的是计算开始日期与结束日期之间的月份差,而输入的日期格式是200901,。看DateDiff的Help,说计算月份应该用mm。
作者: hycomeon    时间: 2010-8-6 17:48
可以搞一个函数实现你的要求吧。

d1 = 200910
d2 = 201008

Call diffDate(d1,d2)
function diffDate(d1,d2)
y1 = left(d1,4)
y2 = left(d2,4)
m1 = right(d1,2)
m2 = right(d2,2)
y = y2 - y1
If y > 0 Then
        m = (12*y)+m2-m1
       
        Else
         m = m2-m1
End If
   MsgBox m
end function
作者: 开朗幽默    时间: 2010-8-9 16:34
标题: 回复 10# 的帖子
恩,解决了,谢谢了兄弟




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2