Calendar.GetDaysInYear Calendar.GetDaysInYear Calendar.GetDaysInYear Calendar.GetDaysInYear Method

Определение

При переопределении в производном классе возвращает число дней в указанном году.When overridden in a derived class, returns the number of days in the specified year.

Перегрузки

GetDaysInYear(Int32) GetDaysInYear(Int32) GetDaysInYear(Int32) GetDaysInYear(Int32)

Возвращает число дней в указанном году текущей эры.Returns the number of days in the specified year of the current era.

GetDaysInYear(Int32, Int32) GetDaysInYear(Int32, Int32) GetDaysInYear(Int32, Int32) GetDaysInYear(Int32, Int32)

При переопределении в производном классе возвращает число дней в указанном году и в указанной эре.When overridden in a derived class, returns the number of days in the specified year and era.

GetDaysInYear(Int32) GetDaysInYear(Int32) GetDaysInYear(Int32) GetDaysInYear(Int32)

Возвращает число дней в указанном году текущей эры.Returns the number of days in the specified year of the current era.

public:
 virtual int GetDaysInYear(int year);
public virtual int GetDaysInYear (int year);
abstract member GetDaysInYear : int -> int
override this.GetDaysInYear : int -> int
Public Overridable Function GetDaysInYear (year As Integer) As Integer

Параметры

year
Int32 Int32 Int32 Int32

Целое число, представляющее год.An integer that represents the year.

Возвраты

Число дней в указанном году текущей эры.The number of days in the specified year in the current era.

Исключения

Значение параметра year находится вне диапазона, поддерживаемого календарем.year is outside the range supported by the calendar.

Примеры

В следующем примере кода сравниваются различные реализации Calendar класса.The following code example compares different implementations of the Calendar class.

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Creates an instance of every Calendar type.
   array<Calendar^>^myCals = gcnew array<Calendar^>(8);
   myCals[ 0 ] = gcnew GregorianCalendar;
   myCals[ 1 ] = gcnew HebrewCalendar;
   myCals[ 2 ] = gcnew HijriCalendar;
   myCals[ 3 ] = gcnew JapaneseCalendar;
   myCals[ 4 ] = gcnew JulianCalendar;
   myCals[ 5 ] = gcnew KoreanCalendar;
   myCals[ 6 ] = gcnew TaiwanCalendar;
   myCals[ 7 ] = gcnew 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;
   int j;
   int iYear;
   int iMonth;
   int iDay;
   DateTime myDT = DateTime::Today;
   for ( i = 0; i < myCals->Length; i++ )
   {
      iYear = myCals[ i ]->GetYear( myDT );
      Console::WriteLine();
      Console::WriteLine( " {0}, Year: {1}", myCals[ i ]->GetType(), myCals[ i ]->GetYear( myDT ) );
      Console::WriteLine( "   MonthsInYear: {0}", myCals[ i ]->GetMonthsInYear( iYear ) );
      Console::WriteLine( "   DaysInYear: {0}", myCals[ i ]->GetDaysInYear( iYear ) );
      Console::WriteLine( "   Days in each month:" );
      Console::Write( "      " );
      for ( j = 1; j <= myCals[ i ]->GetMonthsInYear( iYear ); j++ )
         Console::Write( " {0, -5}", myCals[ i ]->GetDaysInMonth( iYear, j ) );
      Console::WriteLine();
      iMonth = myCals[ i ]->GetMonth( myDT );
      iDay = myCals[ i ]->GetDayOfMonth( myDT );
      Console::WriteLine( "   IsLeapDay: {0}", myCals[ i ]->IsLeapDay( iYear, iMonth, iDay ) );
      Console::WriteLine( "   IsLeapMonth: {0}", myCals[ i ]->IsLeapMonth( iYear, iMonth ) );
      Console::WriteLine( "   IsLeapYear: {0}", myCals[ i ]->IsLeapYear( iYear ) );

   }
}

/*
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 SamplesCalendar  {

   public static void Main()  {

      // Creates an instance of every Calendar type.
      Calendar[] myCals = new Calendar[8];
      myCals[0] = new GregorianCalendar();
      myCals[1] = new HebrewCalendar();
      myCals[2] = new HijriCalendar();
      myCals[3] = new JapaneseCalendar();
      myCals[4] = new JulianCalendar();
      myCals[5] = new KoreanCalendar();
      myCals[6] = new TaiwanCalendar();
      myCals[7] = 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 );
         Console.WriteLine();
         Console.WriteLine( "{0}, Year: {1}", myCals[i].GetType(), myCals[i].GetYear( myDT ) );
         Console.WriteLine( "   MonthsInYear: {0}", myCals[i].GetMonthsInYear( iYear ) );
         Console.WriteLine( "   DaysInYear: {0}", myCals[i].GetDaysInYear( iYear ) );
         Console.WriteLine( "   Days in each month:" );
         Console.Write( "      " );

         for ( j = 1; j <= myCals[i].GetMonthsInYear( iYear ); j++ )
            Console.Write( " {0,-5}", myCals[i].GetDaysInMonth( iYear, j ) );
         Console.WriteLine();

         iMonth = myCals[i].GetMonth( myDT );
         iDay = myCals[i].GetDayOfMonth( myDT );
         Console.WriteLine( "   IsLeapDay:   {0}", myCals[i].IsLeapDay( iYear, iMonth, iDay ) );
         Console.WriteLine( "   IsLeapMonth: {0}", myCals[i].IsLeapMonth( iYear, iMonth ) );
         Console.WriteLine( "   IsLeapYear:  {0}", myCals[i].IsLeapYear( iYear ) );

      }

   }

}


/*
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

*/
Imports System.Globalization


Public Class SamplesCalendar   

   Public Shared Sub Main()

      ' Creates an instance of every Calendar type.
      Dim myCals(7) As Calendar
      myCals(0) = New GregorianCalendar()
      myCals(1) = New HebrewCalendar()
      myCals(2) = New HijriCalendar()
      myCals(3) = New JapaneseCalendar()
      myCals(4) = New JulianCalendar()
      myCals(5) = New KoreanCalendar()
      myCals(6) = New TaiwanCalendar()
      myCals(7) = 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)
         Console.WriteLine()
         Console.WriteLine("{0}, Year: {1}", myCals(i).GetType(), myCals(i).GetYear(myDT))
         Console.WriteLine("   MonthsInYear: {0}", myCals(i).GetMonthsInYear(iYear))
         Console.WriteLine("   DaysInYear: {0}", myCals(i).GetDaysInYear(iYear))
         Console.WriteLine("   Days in each month:")
         Console.Write("      ")
         
         For j = 1 To myCals(i).GetMonthsInYear(iYear)
            Console.Write(" {0,-5}", myCals(i).GetDaysInMonth(iYear, j))
         Next j
         Console.WriteLine()
         
         iMonth = myCals(i).GetMonth(myDT)
         iDay = myCals(i).GetDayOfMonth(myDT)
         Console.WriteLine("   IsLeapDay:   {0}", myCals(i).IsLeapDay(iYear, iMonth, iDay))
         Console.WriteLine("   IsLeapMonth: {0}", myCals(i).IsLeapMonth(iYear, iMonth))
         Console.WriteLine("   IsLeapYear:  {0}", myCals(i).IsLeapYear(iYear))
      Next i 

   End Sub

End Class 'SamplesCalendar 


'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

Комментарии

Например, в GregorianCalendar GetDaysInYear возвращает 365 для общего года или 366 для високосного года.For example, in GregorianCalendar, GetDaysInYear returns 365 for a common year or 366 for a leap year.

Дополнительно

GetDaysInYear(Int32, Int32) GetDaysInYear(Int32, Int32) GetDaysInYear(Int32, Int32) GetDaysInYear(Int32, Int32)

При переопределении в производном классе возвращает число дней в указанном году и в указанной эре.When overridden in a derived class, returns the number of days in the specified year and era.

public:
 abstract int GetDaysInYear(int year, int era);
public abstract int GetDaysInYear (int year, int era);
abstract member GetDaysInYear : int * int -> int
Public MustOverride Function GetDaysInYear (year As Integer, era As Integer) As Integer

Параметры

year
Int32 Int32 Int32 Int32

Целое число, представляющее год.An integer that represents the year.

era
Int32 Int32 Int32 Int32

Целое число, представляющее эру.An integer that represents the era.

Возвраты

Число дней в указанном году указанной эры.The number of days in the specified year in the specified era.

Исключения

Значение параметра year находится вне диапазона, поддерживаемого календарем.year is outside the range supported by the calendar.

-или--or- Значение параметра era находится вне диапазона, поддерживаемого календарем.era is outside the range supported by the calendar.

Комментарии

Например, в GregorianCalendar GetDaysInYear возвращает 365 для общего года или 366 для високосного года.For example, in GregorianCalendar, GetDaysInYear returns 365 for a common year or 366 for a leap year.

Примечания для тех, кто наследует этот метод

Производный класс должен поддерживать CurrentEra , когда он передается era в качестве параметра.The derived class must support CurrentEra when it is passed as the era parameter. Один из способов поддержки CurrentEra заключается в замене его значением, хранящимся в Эр [0], которое является значением для текущей эры календаря.One way to support CurrentEra is by replacing it with the value stored in Eras[0], which is the value for the current era of the calendar.

Дополнительно

Применяется к