2010-07-07 4 views
1

VB6에서는 일부 상황에서 날짜를 올바르게 비교할 수없는 것으로 보입니다. 이것에 대한 해결책이 있습니까?VB6 날짜 버그 수정?

Date 1: 7/6/2010 2:00:00 PM 
Date 2: 7/6/2010 2:00:00 PM 
Equal? True 

그러나 실제 출력은 다음과 같습니다 :

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? False 

이 주변에 어떤 방법이 있나요, 또는 (이 상황을 방지 할 수있는 방법이 그것이 무엇이든간에)?

답변

0

그들이 장면

Debug.Print "Equal? " + CStr(Abs(date1 - date2) < 0.000000001) 
+0

그래, 그게 효과가 있지만, 나는 주조 할 필요가없는 해결책을 좋아한다. – derekerdmann

+0

좋아요, 그러면 날짜가 있습니다. 날짜의 약자'날짜 - 날짜'는 암시 적으로'Double'으로 캐스팅됩니다.'try? typename (date1-date2)'를 실행합니다. 이것은'Date = Date'가 암시 적으로'Boolean'으로 캐스팅된다고 생각하는 것과 같습니다! :-)) – wqw