51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2663|回复: 10
打印 上一主题 下一主题

[原创] 如何算出两个时间之间的差啊?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-8-6 13:53:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有两个webedit,分别是开始时间和结束时间,其格式为yyyymm,现在要用结束时间减去开始时间,算其差为几个月,有没有办法可以实现啊?

[ 本帖最后由 开朗幽默 于 2010-8-6 15:38 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-8-6 14:10:55 | 只看该作者
用DateDiff 函数
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 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,晕死。。。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-8-6 16:20:27 | 只看该作者

回复 3# 的帖子

DateDiff中的参数错了,改成下面的试试
m1 = DateDiff(n,dt1,dt2)
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-8-6 16:29:01 | 只看该作者
先把dt1和dt2 的格式整理一下,例如 2009-10
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-8-6 16:32:16 | 只看该作者

回复 5# 的帖子

不晓得应该怎么整理。CDate用过了,不对。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-8-6 16:33:16 | 只看该作者

回复 4# 的帖子

计算两个日期的月份差,不是mm啊?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-7-13 14:04
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    8#
    发表于 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应该是一年。你的参数设置错了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2010-8-6 17:03:46 | 只看该作者

    回复 8# 的帖子

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

    使用道具 举报

    该用户从未签到

    10#
    发表于 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
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2010-8-9 16:34:39 | 只看该作者

    回复 10# 的帖子

    恩,解决了,谢谢了兄弟
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 07:49 , Processed in 0.068934 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表