Module
Contents
Index 🔎︎
\<bookmark_value\>DateSerial function\</bookmark_value\>

# DateSerial Function

Returns a \<emph\>Date\</emph\> value for a specified year, month, or day.

## Syntax:

    DateSerial (year, month, day)

## Return value:

Date

## Parameters:

\<emph\>Year:\</emph\> Integer expression that indicates a year. All values between 0 and 99 are interpreted as the years 1900-1999. For years that fall outside this range, you must enter all four digits.

\<emph\>Month:\</emph\> Integer expression that indicates the month of the specified year. The accepted range is from 1-12.

Day: Integer expression that indicates the day of the specified month. The accepted range is from 1-31. No error is returned when you enter a non-existing day for a month shorter than 31 days.

The \<emph\>DateSerial function\</emph\> returns the number of days between December 30,1899 and the given date. You can use this function to calculate the difference between two dates.

The \<emph\>DateSerial function\</emph\> returns the data type Variant with VarType 7 (Date). Internally, this value is stored as a Double value, so that when the given date is 1.1.1900, the returned value is 2. Negative values correspond to dates before December 30, 1899 (not inclusive).

If a date is defined that lies outside of the accepted range, LibreOffice Basic returns an error message.

Whereas you define the \<emph\>DateValue function\</emph\> as a string that contains the date, the \<emph\>DateSerial function\</emph\> evaluates each of the parameters (year, month, day) as separate numeric expressions.

## Error codes:

5 Invalid procedure call

## Example:

    Sub ExampleDateSerial

    Dim lDate As Long

    Dim sDate As String

        lDate = DateSerial(1964, 4, 9)

        sDate = DateSerial(1964, 4, 9)

        msgbox lDate REM returns 23476

        msgbox sDate REM returns 04/09/1964

    End Sub