导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

Calendar.GetDaysInMonth 方法 (Int32, Int32)

2013/12/13

返回当前纪元的指定月份和年份中的天数。

Namespace:  System.Globalization
程序集:  mscorlib(位于 mscorlib.dll 中)

public virtual int GetDaysInMonth(
	int year,
	int month
)

参数

year
类型: System.Int32
表示年份的整数。
month
类型: System.Int32
一个表示月份的正整数。

返回值

类型: System.Int32
当前纪元中指定年份的指定月份中的天数。

异常条件
ArgumentOutOfRangeException

year 超出了日历支持的范围。

- 或 -

month 超出了日历支持的范围。

例如,在 GregorianCalendar 中,GetDaysInMonth 对平年中的二月返回 28,对闰年的二月返回 29。

下面的代码示例将比较 Calendar 类的不同实现。


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

*/


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示:
© 2014 Microsoft