Calendar.GetDaysInYear Method (Int32)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Returns the number of days in the specified year of the current era.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- year
- Type: System.Int32
An integer that represents the year.
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | year is outside the range supported by the calendar. |
For example, in GregorianCalendar, GetDaysInYear returns 365 for a common year or 366 for a leap year.
The following code example compares different implementations of the Calendar class.
using System; using System.Globalization; public class Example { public static void Demo(System.Windows.Controls.TextBlock outputBlock) { // Creates an instance of every Calendar type. Calendar[] myCals = new Calendar[7]; myCals[0] = new GregorianCalendar(); myCals[1] = new HebrewCalendar(); myCals[2] = new HijriCalendar(); myCals[3] = new JapaneseCalendar(); myCals[4] = new KoreanCalendar(); myCals[5] = new TaiwanCalendar(); myCals[6] = new ThaiBuddhistCalendar(); // For each calendar, displays the current year, the number of months in that year, // and the number of days in each month of that year. int i, j, iYear, iMonth, iDay; DateTime myDT = DateTime.Today; for (i = 0; i < myCals.Length; i++) { iYear = myCals[i].GetYear(myDT); outputBlock.Text += "\n"; outputBlock.Text += String.Format("{0}, Year: {1}", myCals[i].GetType(), myCals[i].GetYear(myDT)) + "\n"; outputBlock.Text += String.Format(" MonthsInYear: {0}", myCals[i].GetMonthsInYear(iYear)) + "\n"; outputBlock.Text += String.Format(" DaysInYear: {0}", myCals[i].GetDaysInYear(iYear)) + "\n"; outputBlock.Text += " Days in each month:" + "\n"; outputBlock.Text += " "; for (j = 1; j <= myCals[i].GetMonthsInYear(iYear); j++) outputBlock.Text += String.Format(" {0,-5}", myCals[i].GetDaysInMonth(iYear, j)); outputBlock.Text += "\n"; iMonth = myCals[i].GetMonth(myDT); iDay = myCals[i].GetDayOfMonth(myDT); outputBlock.Text += String.Format(" IsLeapDay: {0}", myCals[i].IsLeapDay(iYear, iMonth, iDay)) + "\n"; outputBlock.Text += String.Format(" IsLeapMonth: {0}", myCals[i].IsLeapMonth(iYear, iMonth)) + "\n"; outputBlock.Text += String.Format(" IsLeapYear: {0}", myCals[i].IsLeapYear(iYear)) + "\n"; } } } /* This code produces the following output. The results vary depending on the date. System.Globalization.GregorianCalendar, Year: 2002 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System.Globalization.HebrewCalendar, Year: 5763 MonthsInYear: 13 DaysInYear: 385 Days in each month: 30 30 30 29 30 30 29 30 29 30 29 30 29 IsLeapDay: False IsLeapMonth: False IsLeapYear: True System.Globalization.HijriCalendar, Year: 1423 MonthsInYear: 12 DaysInYear: 355 Days in each month: 30 29 30 29 30 29 30 29 30 29 30 30 IsLeapDay: False IsLeapMonth: False IsLeapYear: True System.Globalization.JapaneseCalendar, Year: 14 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System.Globalization.JulianCalendar, Year: 2002 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System.Globalization.KoreanCalendar, Year: 4335 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System.Globalization.TaiwanCalendar, Year: 91 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False System.Globalization.ThaiBuddhistCalendar, Year: 2545 MonthsInYear: 12 DaysInYear: 365 Days in each month: 31 28 31 30 31 30 31 31 30 31 30 31 IsLeapDay: False IsLeapMonth: False IsLeapYear: False */
Show: