开朗幽默 发表于 2010-8-6 13:53:20

如何算出两个时间之间的差啊?

有两个webedit,分别是开始时间和结束时间,其格式为yyyymm,现在要用结束时间减去开始时间,算其差为几个月,有没有办法可以实现啊?

[ 本帖最后由 开朗幽默 于 2010-8-6 15:38 编辑 ]

TIB 发表于 2010-8-6 14:10:55

用DateDiff 函数

开朗幽默 发表于 2010-8-6 15:47:11

回复 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:27

回复 3# 的帖子

DateDiff中的参数错了,改成下面的试试
m1 = DateDiff(n,dt1,dt2)

TIB 发表于 2010-8-6 16:29:01

先把dt1和dt2 的格式整理一下,例如 2009-10

开朗幽默 发表于 2010-8-6 16:32:16

回复 5# 的帖子

不晓得应该怎么整理。CDate用过了,不对。

开朗幽默 发表于 2010-8-6 16:33:16

回复 4# 的帖子

计算两个日期的月份差,不是mm啊?

17800455 发表于 2010-8-6 16:35:27

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:46

回复 8# 的帖子

我的目的是计算开始日期与结束日期之间的月份差,而输入的日期格式是200901,。看DateDiff的Help,说计算月份应该用mm。

hycomeon 发表于 2010-8-6 17:48:30

可以搞一个函数实现你的要求吧。

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:39

回复 10# 的帖子

恩,解决了,谢谢了兄弟
页: [1]
查看完整版本: 如何算出两个时间之间的差啊?