Calculates a serial time value for the specified hour, minute and second parameters that are passed as numeric values. You can then use this value to calculate the difference between times.
TimeSerial (hour, minute, second)
hour: An integer expression that indicates the hour of the time that is used to determine the serial time value. Values in the range 0 to 23 are valid.
minute: An integer expression that indicates the minute of the time that is used to determine the serial time value. In general, use values in the range 0 to 59. However, you can also use values that lie outside of this range, where the number of minutes influence the hour value.
second: An integer expression that indicates the second of the time that is used to determine the serial time value. In general, you can use values in the range 0 to 59. However, you can also use values that lie outside of this range, where the number seconds influences the minute value.
12, -5, 45 corresponds to 11, 55, 45
12, 61, 45 corresponds to 13, 2, 45
12, 20, -2 corresponds to 12, 19, 58
12, 20, 63 corresponds to 12, 21, 4
You can use the TimeSerial function to convert any time into a single value that you can use to calculate time differences.
The TimeSerial function returns the type Variant with VarType 7 (Date). This value is stored internally as a double-precision number in the range 0 to 0.9999999999. As opposed to the DateSerial or DateValue function, where the serial date values are calculated as days relative to a fixed date, you can calculate with values returned by the TimeSerial function, but you cannot evaluate them.
In the TimeValue function, you can pass a string as a parameter containing the time. For the TimeSerial function, however, you can pass the individual parameters (hour, minute, second) as separate numeric expressions.
Sub ExampleTimeSerial Dim dDate As Double, sDate As String dDate = TimeSerial(8,30,15) sDate = TimeSerial(8,30,15) MsgBox dDate,64,"Time as a number" MsgBox sDate,64,"Formatted time" End Sub