Calendar.GetDaysInYear Method (Int32)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Returns the number of days in the specified year of the current era.
Namespace: System.Globalization
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Overridable Function GetDaysInYear ( _
year As Integer _
) As Integer
public virtual int GetDaysInYear(
int year
)
Parameters
- year
Type: System.Int32
An integer that represents the year.
Return Value
Type: System.Int32
The number of days in the specified year in the current era.
Exceptions
Exception | Condition |
---|---|
ArgumentOutOfRangeException | year is outside the range supported by the calendar. |
Remarks
For example, in GregorianCalendar, GetDaysInYear returns 365 for a common year or 366 for a leap year.
Examples
The following code example compares different implementations of the Calendar class.
Imports System.Globalization
Public Class Example
Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
' Creates an instance of every Calendar type.
Dim myCals(6) As Calendar
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.
Dim i, j, iYear, iMonth, iDay As Integer
Dim myDT As DateTime = DateTime.Today
For i = 0 To myCals.Length - 1
iYear = myCals(i).GetYear(myDT)
outputBlock.Text &= vbCrLf
outputBlock.Text += String.Format("{0}, Year: {1}", myCals(i).GetType(), myCals(i).GetYear(myDT)) & vbCrLf
outputBlock.Text += String.Format(" MonthsInYear: {0}", myCals(i).GetMonthsInYear(iYear)) & vbCrLf
outputBlock.Text += String.Format(" DaysInYear: {0}", myCals(i).GetDaysInYear(iYear)) & vbCrLf
outputBlock.Text &= " Days in each month:" & vbCrLf
outputBlock.Text &= " "
For j = 1 To myCals(i).GetMonthsInYear(iYear)
outputBlock.Text += String.Format(" {0,-5}", myCals(i).GetDaysInMonth(iYear, j))
Next j
outputBlock.Text &= vbCrLf
iMonth = myCals(i).GetMonth(myDT)
iDay = myCals(i).GetDayOfMonth(myDT)
outputBlock.Text += String.Format(" IsLeapDay: {0}", myCals(i).IsLeapDay(iYear, iMonth, iDay)) & vbCrLf
outputBlock.Text += String.Format(" IsLeapMonth: {0}", myCals(i).IsLeapMonth(iYear, iMonth)) & vbCrLf
outputBlock.Text += String.Format(" IsLeapYear: {0}", myCals(i).IsLeapYear(iYear)) & vbCrLf
Next
End Sub
End Class
'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
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
*/
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.