datevalue(required; Date or valid date expression)
Any valid date expression
Returns an integer representing the year in a given date expression
Nothing, Year returns
1. (This assumes that
Strict is off.) For example:
Dim oDat As Object Console.Writeline(Year(sDat)) ' Displays 1
datevalue is a date literal (a date
delimited with the
# symbol), the year must
contain four digits.
The validity of the date expression — and the position of the year element within the given date expression — is initially determined by the locale settings of the Windows system. However, some extra intelligence relating to two-digit year values (see the next item in this list) has been built into the Year function, which surpasses the usual comparison of a date expression to the current locale settings.
What happens when you pass a date over to the Year function containing a two-digit year? Quite simply, when the Year function sees a two-digit year, it assumes that all values equal to or greater than 30 are in the 20th century (i.e., 30 = 1930, 98 = 1998) and that all values less than 30 are in the 21st century (i.e., 29 = 2029, 5 = 2005). Of course, it is much better programming practice to use — and require your clients to use — four-digit years.