似乎VB6在某些情况下无法正确比较日期。这有什么解决方案吗?
Private Sub CheckDate()
date1 = #7/6/2010 2:00:00 PM#
Debug.Print "Date 1: " + CStr(date1)
date2 = DateAdd("h", -8, #7/6/2010 10:00:00 PM#)
Debug.Print "Date 2: " + CStr(date2)
Debug.Print "Equal? " + CStr(date1 = date2)
End Sub
正确的输出应该是:
Date 1: 7/6/2010 2:00:00 PM
Date 2: 7/6/2010 2:00:00 PM
Equal? True
但实际输出是:
Date 1: 7/6/2010 2:00:00 PM
Date 2: 7/6/2010 2:00:00 PM
Equal? False
有没有办法解决这个问题,或者有什么方法可以避免这种情况(无论是什么)?
答案 0 :(得分:5)
您应该使用DateDiff函数。它可以适应您需要的任何精度水平。
http://www.vb6.us/tutorials/learn-howto-use-visual-basic-datediff-function
答案 1 :(得分:0)
“将你的日期视为双打”,他们在场景背后
Debug.Print "Equal? " + CStr(Abs(date1 - date2) < 0.000000001)