Name
Year Function
Class
Microsoft.VisualBasic.DateAndTime
Syntax
Year(datevalue
)
-
datevalue
(required; Date or valid date expression) Any valid date expression
Return Value
Integer
Description
Returns an integer representing the year in a given date expression
Rules at a Glance
If
datevalue
containsNothing
, Year returns1
. (This assumes thatOption
Strict
is off.) For example:Dim oDat As Object Console.Writeline(Year(sDat)) ' Displays 1
If
datevalue
is a date literal (a date delimited with the#
symbol), the year must contain four digits.
Programming Tips and Gotchas
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.
See Also
Get VB.NET Language in a Nutshell, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.