Name

Year Function

Class

Microsoft.VisualBasic.DateAndTime

Syntax

Year(datevalue)
datevalue

Use: Required

Data Type: 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 contains Nothing, Year returns 1. (This assumes that Option 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.

Get VB .NET Language in a Nutshell 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.