Calendar.GetDaysInYear 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当在派生类中重写时,返回指定年份中的天数。
重载
GetDaysInYear(Int32) |
返回当前纪元中指定年份的天数。 |
GetDaysInYear(Int32, Int32) |
当在派生类中重写时,返回指定纪元年份中的天数。 |
GetDaysInYear(Int32)
- Source:
- Calendar.cs
- Source:
- Calendar.cs
- Source:
- Calendar.cs
返回当前纪元中指定年份的天数。
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
一个整数,用于表示年份。
返回
当前纪元中指定年份的天数。
例外
year
超出了日历支持的范围。
示例
下面的代码示例比较 类的不同实现 Calendar 。
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
'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。
另请参阅
适用于
GetDaysInYear(Int32, Int32)
- Source:
- Calendar.cs
- Source:
- Calendar.cs
- Source:
- Calendar.cs
当在派生类中重写时,返回指定纪元年份中的天数。
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
一个整数,用于表示年份。
- era
- Int32
一个整数,用于表示纪元。
返回
指定纪元中指定年份的天数。
例外
注解
例如,在 中 GregorianCalendar, GetDaysInYear 对于普通年份,返回 365,对于闰年,返回 366。
实施者说明
派生类在作为 era
参数传递时必须支持CurrentEra它。 支持 CurrentEra 的方法之一是将它替换为存储在 中的 Eras[0]
值,该值是日历的当前纪元的值。