Time within Timespan, Range

Dim minTime As New TimeSpan(23, 0, 0) 'Should be converted from 11.00 PM

Dim maxTime As New TimeSpan(5, 0, 0) 'Should be converted from 5.00 AM

' Example usages

CheckTimeRange(New Date(2012, 1, 1, 15, 0, 0), minTime, maxTime) '==> false

CheckTimeRange(New Date(2012, 1, 1, 22, 30, 0), minTime, maxTime) '==> false

CheckTimeRange(New Date(2012, 1, 1, 23, 00, 0), minTime, maxTime) '==> true

CheckTimeRange(New Date(2012, 1, 2, 1, 10, 0), minTime, maxTime) '==> true

CheckTimeRange(New Date(2012, 1, 2, 4, 59, 0), minTime, maxTime) '==> true

CheckTimeRange(New Date(2012, 1, 2, 5, 10, 0), minTime, maxTime) '==> false

Private Function CheckTimeRange(myDate As DateTime, minTime as TimeSpan, maxTime As TimeSpan) As Boolean

    If minTime > maxTime Then

        Return myDate.TimeOfDay >= minTime OrElse myDate.TimeOfDay < maxTime

    Else

        Return myDate.TimeOfDay >= minTime AndAlso myDate.TimeOfDay < maxTime

    End If

End Function


Source: https://stackoverflow.com/questions/10518181/how-to-check-time-range