DateTime.DayOfYear Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the day of the year represented by this instance.
public:
property int DayOfYear { int get(); };
public int DayOfYear { get; }
member this.DayOfYear : int
Public ReadOnly Property DayOfYear As Integer
Property Value
The day of the year, expressed as a value between 1 and 366.
Examples
The following example displays the day of the year of December 31 for the years 2010-2020 in the Gregorian calendar. Note that the example shows that December 31 is the 366th day of the year in leap years.
using System;
public class Example
{
public static void Main()
{
DateTime dec31 = new DateTime(2010, 12, 31);
for (int ctr = 0; ctr <= 10; ctr++) {
DateTime dateToDisplay = dec31.AddYears(ctr);
Console.WriteLine("{0:d}: day {1} of {2} {3}", dateToDisplay,
dateToDisplay.DayOfYear,
dateToDisplay.Year,
DateTime.IsLeapYear(dateToDisplay.Year) ?
"(Leap Year)" : "");
}
}
}
// The example displays the following output:
// 12/31/2010: day 365 of 2010
// 12/31/2011: day 365 of 2011
// 12/31/2012: day 366 of 2012 (Leap Year)
// 12/31/2013: day 365 of 2013
// 12/31/2014: day 365 of 2014
// 12/31/2015: day 365 of 2015
// 12/31/2016: day 366 of 2016 (Leap Year)
// 12/31/2017: day 365 of 2017
// 12/31/2018: day 365 of 2018
// 12/31/2019: day 365 of 2019
// 12/31/2020: day 366 of 2020 (Leap Year)
open System
let dec31 = DateTime(2010, 12, 31)
for i = 0 to 10 do
let dateToDisplay = dec31.AddYears i
let leap = if DateTime.IsLeapYear dateToDisplay.Year then "(Leap Year)" else ""
printfn $"{dateToDisplay:d}: day {dateToDisplay.DayOfYear} of {dateToDisplay.Year} {leap}"
// The example displays the following output:
// 12/31/2010: day 365 of 2010
// 12/31/2011: day 365 of 2011
// 12/31/2012: day 366 of 2012 (Leap Year)
// 12/31/2013: day 365 of 2013
// 12/31/2014: day 365 of 2014
// 12/31/2015: day 365 of 2015
// 12/31/2016: day 366 of 2016 (Leap Year)
// 12/31/2017: day 365 of 2017
// 12/31/2018: day 365 of 2018
// 12/31/2019: day 365 of 2019
// 12/31/2020: day 366 of 2020 (Leap Year)
Option Strict On
Module Example
Public Sub Main()
Dim dec31 As Date = #12/31/2010#
For ctr As Integer = 0 To 10
Dim dateToDisplay As Date = dec31.AddYears(ctr)
Console.WriteLine("{0:d}: day {1} of {2} {3}", dateToDisplay,
dateToDisplay.DayOfYear,
dateToDisplay.Year,
If(DateTime.IsLeapYear(dateToDisplay.Year),
"(Leap Year)", ""))
Next
End Sub
End Module
' The example displays the following output:
' 12/31/2010: day 365 of 2010
' 12/31/2011: day 365 of 2011
' 12/31/2012: day 366 of 2012 (Leap Year)
' 12/31/2013: day 365 of 2013
' 12/31/2014: day 365 of 2014
' 12/31/2015: day 365 of 2015
' 12/31/2016: day 366 of 2016 (Leap Year)
' 12/31/2017: day 365 of 2017
' 12/31/2018: day 365 of 2018
' 12/31/2019: day 365 of 2019
' 12/31/2020: day 366 of 2020 (Leap Year)
Remarks
The DayOfYear property takes leap years into account when it calculates the day of the year. The property value always reflects the day of the year in the Gregorian calendar, regardless of the current culture's current calendar. To retrieve the day of the year in a different calendar, call the Calendar.GetDayOfYear method of that calendar.