51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1484|回复: 3
打印 上一主题 下一主题

[原创] 关于datediff

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-7-21 17:17:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Function Days(ByVal strStart, ByVal strEnd)
        Dim dtStart, dtEnd, Flag
        Flag = isdate(strStart) AND isdate(strEnd)
        If Flag = false Then
           Days = False
           Msgbox("Date format is not correct.")
           Else
                        dtStart = CDate(strStart)
                        dtEnd = CDate(strEnd)   
                        Days = datediff("d",dtStart, stEnd )
        End If
End Function

这是我写的计算两个日期间隔天数的函数,但运行时却得到奇怪的结果:
Days("2003-2-26", "2008-7-21"), 返回-37678
Days("2008-7-20", "2008-7-21"), 返回-39649
我检查了datediff("d",dtStart, stEnd )的返回值,结果是一样的。

哪位大侠能解释一下why???
多谢!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-7-21 17:44:00 | 只看该作者
dtStart = CDate(strStart)
  dtEnd = CDate(strEnd)   
这两句去掉,上面已经对格式做过比较了,不需要再重复一次。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-7-22 10:12:50 | 只看该作者
不好意思,今天又看了一下,datediff("d",dtStart, stEnd )中一个参数写错了,应该是dtEnd.
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-7-22 10:23:01 | 只看该作者
楼主的心情能够理解
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-22 06:44 , Processed in 0.077664 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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