DateTime.Year Property

Definition

Gets the year component of the date represented by this instance.

public:
 property int Year { int get(); };
public int Year { get; }
member this.Year : int
Public ReadOnly Property Year As Integer

Property Value

The year, between 1 and 9999.

Examples

The following example demonstrates the Year property.

System::DateTime moment = System::DateTime(
   1999, 1, 13, 3, 57, 32, 11 );

// Year gets 1999.
int year = moment.Year;

// Month gets 1 (January).
int month = moment.Month;

// Day gets 13.
int day = moment.Day;

// Hour gets 3.
int hour = moment.Hour;

// Minute gets 57.
int minute = moment.Minute;

// Second gets 32.
int second = moment.Second;

// Millisecond gets 11.
int millisecond = moment.Millisecond;
System.DateTime moment = new System.DateTime(
                                1999, 1, 13, 3, 57, 32, 11);
// Year gets 1999.
int year = moment.Year;

// Month gets 1 (January).
int month = moment.Month;

// Day gets 13.
int day = moment.Day;

// Hour gets 3.
int hour = moment.Hour;

// Minute gets 57.
int minute = moment.Minute;

// Second gets 32.
int second = moment.Second;

// Millisecond gets 11.
int millisecond = moment.Millisecond;
open System


let moment = System.DateTime(1999, 1, 13, 3, 57, 32, 11)

// Year gets 1999.
let year = moment.Year

// Month gets 1 (January).
let month = moment.Month

// Day gets 13.
let day = moment.Day

// Hour gets 3.
let hour = moment.Hour

// Minute gets 57.
let minute = moment.Minute

// Second gets 32.
let second = moment.Second

// Millisecond gets 11.
let millisecond = moment.Millisecond
Dim moment As New System.DateTime(1999, 1, 13, 3, 57, 32, 11)

' Year gets 1999.
Dim year As Integer = moment.Year

' Month gets 1 (January).
Dim month As Integer = moment.Month

' Day gets 13.
Dim day As Integer = moment.Day

' Hour gets 3.
Dim hour As Integer = moment.Hour

' Minute gets 57.
Dim minute As Integer = moment.Minute

' Second gets 32.
Dim second As Integer = moment.Second

' Millisecond gets 11.
Dim millisecond As Integer = moment.Millisecond

Remarks

The Year property returns the year of the current instance in the Gregorian calendar. It does not return the year using the default calendar of the current culture. To retrieve the year using a particular calendar, you can call that calendar's GetYear method, as the following code shows.

using System;
using System.Globalization;
using System.Threading;

public class YearMethodExample
{
    public static void Main()
    {
      // Initialize date variable and display year
      DateTime date1 = new DateTime(2008, 1, 1, 6, 32, 0);
      Console.WriteLine(date1.Year);                    // Displays 2008

      // Set culture to th-TH
      Thread.CurrentThread.CurrentCulture = new CultureInfo("th-TH");
      Console.WriteLine(date1.Year);                    // Displays 2008

      // display year using current culture's calendar
      Calendar thaiCalendar = CultureInfo.CurrentCulture.Calendar;
      Console.WriteLine(thaiCalendar.GetYear(date1));   // Displays 2551

      // display year using Persian calendar
      PersianCalendar persianCalendar = new PersianCalendar();
      Console.WriteLine(persianCalendar.GetYear(date1)); // Displays 1386
   }
}
open System
open System.Globalization
open System.Threading

// Initialize date variable and display year
let date1 = DateTime(2008, 1, 1, 6, 32, 0)
printfn $"{date1.Year}"                    // Displays 2008

// Set culture to th-TH
Thread.CurrentThread.CurrentCulture <- CultureInfo "th-TH"
printfn $"{date1.Year}"                    // Displays 2008

// display year using current culture's calendar
let thaiCalendar = CultureInfo.CurrentCulture.Calendar
printfn $"{thaiCalendar.GetYear date1}"   // Displays 2551

// display year using Persian calendar
let persianCalendar = PersianCalendar()
printfn $"{persianCalendar.GetYear date1}" // Displays 1386
Imports System.Globalization
Imports System.Threading

Module YearMethodExample
   Public Sub Main()
      ' Initialize date variable and display year
      Dim date1 As Date = #01/01/2008 6:32AM#
      Console.WriteLine(date1.Year)       ' Displays 2008
      
      ' Set culture to th-TH
      Thread.CurrentThread.CurrentCulture = New CultureInfo("th-TH")
      Console.WriteLine(date1.Year)        ' Displays 2008
      
      ' display year using current culture's calendar 
      Dim thaiCalendar As Calendar = CultureInfo.CurrentCulture.Calendar
      Console.WriteLine(thaiCalendar.GetYear(date1))    ' Displays 2551
      
      ' display year using Persian calendar
      Dim persianCalendar As New PersianCalendar()
      Console.WriteLine(persianCalendar.GetYear(date1))  ' Displays 1386 
   End Sub
End Module

Applies to

See also