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