# TimeSerial Function [Runtime]

Calculates a serial time value for the specified hour, minute, and second parameters that are passed as numeric value. You can then use this value to calculate the difference between times.

## Contents

## Syntax:

```
TimeSerial (hour, minute, second)
```

## Return value:

Date

## Parameters:

**hour:** Any integer expression that indicates the hour of the time that is used to determine the serial time value. Valid values: 0-23.

**minute:** Any integer expression that indicates the minute of the time that is used to determine the serial time value. In general, use values between 0 and 59. However, you can also use values that lie outside of this range, where the number of minutes influence the hour value.

**second:** Any integer expression that indicates the second of the time that is used to determine the serial time value. In general, you can use values between 0 and 59. However, you can also use values that lie outside of this range, where the number seconds influences the minute value.

**Examples:**

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 between 0 and 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.

Error Codes

5 Invalid procedure call

## Example:

```
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
```