I am not positive what your goal here is. If it is to do math with Time, you are going to need to use and understand a couple of data types ... String, Variant, Double, Long, Date (I think that is it).
So, the Date data type is something Microsoft provided for us to store and display Date and Time values. It is stored as a Double and displayed as Text. There is a lot that goes on behind the scenes. In addition, there are many built in functions provided by Microsoft to perform common tasks with Date and Time. If you want to compare Time with Time, you are going to have to do this via the double data type. So maybe you can explain the Business Rules here. Here is a reference that you will need.
https://support.microsoft.com/en-us/kb/210276
Basically, in order to compare time, you need to store the Date result as a double and also as an Integer. The integer will truncate the Time and leave you with a Days. What you do with the Integer/Days part depends on your objectives. I might be able top provide you with some examples, later. It depends on what you are trying to do.
Meanwhile, here are some data type conversions to confuse the heck out of you. I am leaving out the Integer thing. Just get used to the Date thing converting to Double, for now. Also, you might start to see limitations of the many built in functions, like DateDiff.
Code:
Dim dblCurrentTime As Double
Dim dblElapsedTime As Double
Dim dtCurrentTime As Date
Dim dtElapsedTime As Date
Dim dtResult As Date
Dim dtDateDiff As Date
Dim lngTimeDiff As Long
dblCurrentTime = Now
dtCurrentTime = dblCurrentTime
dblElapsedTime = dtCurrentTime + 5
dtElapsedTime = dblElapsedTime
dtResult = dblElapsedTime
lngTimeDiff = DateDiff("s", dtCurrentTime, dtElapsedTime)
Debug.Print "Result Value as a Date type from a double: " & dtResult
Debug.Print "Time in Text format from a Variant: " & TimeValue(dtResult)
Debug.Print "Difference between dates as a Long: " & lngTimeDiff