GetDayOfYear Method

GregorianCalendar.GetDayOfYear Method

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Returns the day of the year in the specified DateTime.

Namespace:  System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

public override int GetDayOfYear(
	DateTime time


Type: System.DateTime
The DateTime to read.

Return Value

Type: System.Int32
An integer from 1 to 366 that represents the day of the year in time.

The day of the year is defined as the number of days from the first day of the year. For example, GetDayOfYear for the first day of the first month returns 1, and GetDayOfYear for the last day of the last month returns the total number of days in that year, which is the same value returned by GetDaysInYear.

The following code example displays the values of several components of a DateTime in terms of the Gregorian calendar.

using System;
using System.Globalization;

public class Example

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)

      // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      DateTime myDT = new DateTime(2002, 4, 3, new GregorianCalendar());

      // Creates an instance of the GregorianCalendar.
      GregorianCalendar myCal = new GregorianCalendar();

      // Displays the values of the DateTime.
      outputBlock.Text += String.Format("April 3, 2002 of the Gregorian calendar:") + "\n";
      DisplayValues(outputBlock, myCal, myDT);

      // Adds two years and ten months.
      myDT = myCal.AddYears(myDT, 2);
      myDT = myCal.AddMonths(myDT, 10);

      // Displays the values of the DateTime.
      outputBlock.Text += "After adding two years and ten months:" + "\n";
      DisplayValues(outputBlock, myCal, myDT);


   public static void DisplayValues(System.Windows.Controls.TextBlock outputBlock, Calendar myCal, DateTime myDT)
      outputBlock.Text += String.Format("   Era:        {0}", myCal.GetEra(myDT)) + "\n";
      outputBlock.Text += String.Format("   Year:       {0}", myCal.GetYear(myDT)) + "\n";
      outputBlock.Text += String.Format("   Month:      {0}", myCal.GetMonth(myDT)) + "\n";
      outputBlock.Text += String.Format("   DayOfYear:  {0}", myCal.GetDayOfYear(myDT)) + "\n";
      outputBlock.Text += String.Format("   DayOfMonth: {0}", myCal.GetDayOfMonth(myDT)) + "\n";
      outputBlock.Text += String.Format("   DayOfWeek:  {0}", myCal.GetDayOfWeek(myDT)) + "\n";
      outputBlock.Text += "\n";


This code produces the following output.

April 3, 2002 of the Gregorian calendar:
   Era:        1
   Year:       2002
   Month:      4
   DayOfYear:  93
   DayOfMonth: 3
   DayOfWeek:  Wednesday

After adding two years and ten months:
   Era:        1
   Year:       2005
   Month:      2
   DayOfYear:  34
   DayOfMonth: 3
   DayOfWeek:  Thursday


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

© 2017 Microsoft