51Testing软件测试论坛

标题: 关于datediff [打印本页]

作者: bluestone    时间: 2008-7-21 17:17
标题: 关于datediff
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???
多谢!!!
作者: eramyang    时间: 2008-7-21 17:44
dtStart = CDate(strStart)
  dtEnd = CDate(strEnd)   
这两句去掉,上面已经对格式做过比较了,不需要再重复一次。
作者: bluestone    时间: 2008-7-22 10:12
不好意思,今天又看了一下,datediff("d",dtStart, stEnd )中一个参数写错了,应该是dtEnd.

作者: dycadrtf    时间: 2008-7-22 10:23
楼主的心情能够理解




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