DateDiff 分かりづらい

vb.net に DateDiff って関数がある。
日付型と日付型を比較するんだけど、戻り値が数値で分かり難い・・・(俺だけ?)
「こっちの日付の方が後ろだと〜負の数か・・・」っとか考えながら作っても良く間違えてるし。
なので、簡単なのを作った。

・比較演算子と日付型2個を引数
・基本、日単位で計算(第四パラメータをセットすると日以外も計算可能)
・戻り値は Boolean

' DayDiff 用
Public Enum DAY_DIFF_TYPE As Integer
    EQ = 0  ' =
    NE = 1  ' <>
    GT = 2  ' >
    LT = 3  ' <
    GE = 4  ' >=
    LE = 5  ' <=
End Enum


Public Shared Function DayDiff(ByVal intType As DAY_DIFF_TYPE, ByVal dtValue1 As Date, ByVal dtValue2 As Date, _
                                 Optional ByVal intInterval As DateInterval = DateInterval.Day) As Boolean
    Dim lngRtn As Long
    Dim blnReturn As Boolean


    lngRtn = DateDiff(intInterval, dtValue1, dtValue2)

    Select Case intType
        Case DAY_DIFF_TYPE.EQ   ' =
            blnReturn = (0 = lngRtn)
        Case DAY_DIFF_TYPE.NE   ' <>
            blnReturn = (0 <> lngRtn)
        Case DAY_DIFF_TYPE.GT   ' >
            blnReturn = (0 > lngRtn)
        Case DAY_DIFF_TYPE.LT   ' <
            blnReturn = (0 < lngRtn)
        Case DAY_DIFF_TYPE.GE   ' >=
            blnReturn = (0 >= lngRtn)
        Case DAY_DIFF_TYPE.LE   ' <=
            blnReturn = (0 <= lngRtn)
    End Select


    Return blnReturn

End Function

実行方法と結果は

?DayDiff( DAY_DIFF_TYPE.EQ , #03/06/2007# , #03/06/2007# )
True
?DayDiff( DAY_DIFF_TYPE.EQ , #03/05/2007# , #03/06/2007# )
False
?DayDiff( DAY_DIFF_TYPE.EQ , #03/07/2007# , #03/06/2007# )
False
?DayDiff( DAY_DIFF_TYPE.NE , #03/06/2007# , #03/06/2007# )
False
?DayDiff( DAY_DIFF_TYPE.NE , #03/05/2007# , #03/06/2007# )
True
?DayDiff( DAY_DIFF_TYPE.NE , #03/07/2007# , #03/06/2007# )
True
?DayDiff( DAY_DIFF_TYPE.GT , #03/06/2007# , #03/06/2007# )
False
?DayDiff( DAY_DIFF_TYPE.GT , #03/05/2007# , #03/06/2007# )
False
?DayDiff( DAY_DIFF_TYPE.GT , #03/07/2007# , #03/06/2007# )
True
?DayDiff( DAY_DIFF_TYPE.LT , #03/06/2007# , #03/06/2007# )
False
?DayDiff( DAY_DIFF_TYPE.LT , #03/05/2007# , #03/06/2007# )
True
?DayDiff( DAY_DIFF_TYPE.LT , #03/07/2007# , #03/06/2007# )
False
?DayDiff( DAY_DIFF_TYPE.GE , #03/06/2007# , #03/06/2007# )
True
?DayDiff( DAY_DIFF_TYPE.GE , #03/05/2007# , #03/06/2007# )
False
?DayDiff( DAY_DIFF_TYPE.GE , #03/07/2007# , #03/06/2007# )
True
?DayDiff( DAY_DIFF_TYPE.LE , #03/06/2007# , #03/06/2007# )
True
?DayDiff( DAY_DIFF_TYPE.LE , #03/05/2007# , #03/06/2007# )
True
?DayDiff( DAY_DIFF_TYPE.LE , #03/07/2007# , #03/06/2007# )
False

結構、分かりやすくなったと思うんだけどな〜
自分は今後も使うだろう。
うんうん、自分用のメモね。