DateSerial Function
Returns a Variant of subtype Date for a specified year, month, and day.
Syntax
DateSerial(year, month, day)
Arguments:
- Year: Number between 100 and 9999, inclusive, or a numeric expression.
- Month: Any numeric expression.
- Day: Any numeric expression.
Remarks
To specify a date, such as December 31, 1991, the range of numbers for each
DateSerial
argument should be in the accepted range for the
unit; that is, 1–31 for days and 1–12 for months. However, you can also specify
relative dates for each argument using any numeric expression that represents some
number of days, months, or years before or after a certain date.
The following example uses numeric expressions instead of absolute date numbers. Here
the DateSerial
function returns a date that is the day before the
first day (1 – 1) of two months before August (8 – 2) of 10 years before 1990 (1990
– 10); in other words, May 31, 1980.
Dim MyDate1, MyDate2
MyDate1 = DateSerial(1970, 1, 1)
Output: 01-Jan-70
MyDate2 = DateSerial(1990 - 10, 8 - 2, 1 - 1)
'Output: 31-May-80
For the year argument, values between 0 and 99, inclusive, are interpreted as the years 1900–1999. For all other year arguments, use a complete four-digit year (for example, 1800).
When any argument exceeds the accepted range for that argument, it increments to the next larger unit as appropriate. For example, if you specify 35 days, it is evaluated as one month and some number of days, depending on where in the year it is applied. However, if any single argument is outside the range -32,768 to 32,767, or if the date specified by the three arguments, either directly or by expression, falls outside the acceptable range of dates, an error occurs.
Output date format is based on the system’s short date format.
The following example illustrates the use of the data serial function:
Example 1:
Dim MyDate1
MyDate1 = DateSerial(1970, 1, 1)
'Output: 01-Jan-70
Example 2:
Dim MyDate2
MyDate2 = DateSerial(1990 - 10, 8 - 2, 1 - 1)
'Output: 31-May-80
Example 3:
Dim MyDate3
MyDate3 = DateSerial(2025, 15, 40)
'Output: 09-Apr-26
Example 4:
Dim MyDate4
MyDate4 = DateSerial(2025, 1, 0)
'Output: 31-Dec-24
Example 5:
Dim MyDate5
MyDate5 = DateSerial(50, 1, 1)
'Output: 01-Jan-50
Example 6:
Dim MyDate6
MyDate6 = DateSerial(99, 12, 31)
'Output: 31-Dec-99