查看完整版本: 关于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.
:L :L :L

dycadrtf 2008-7-22 10:23

:lol :L 楼主的心情能够理解
页: [1]
查看完整版本: 关于datediff