DateTime.DaysInMonth(Int32, Int32) DateTime.DaysInMonth(Int32, Int32) DateTime.DaysInMonth(Int32, Int32) DateTime.DaysInMonth(Int32, Int32) Method

定義

指定した月および年の日数を返します。Returns the number of days in the specified month and year.

public:
 static int DaysInMonth(int year, int month);
public static int DaysInMonth (int year, int month);
static member DaysInMonth : int * int -> int
Public Shared Function DaysInMonth (year As Integer, month As Integer) As Integer

パラメーター

year
Int32 Int32 Int32 Int32

年。The year.

month
Int32 Int32 Int32 Int32

月 (1 から 12 までの範囲の数)。The month (a number ranging from 1 to 12).

戻り値

指定した yearmonth の日数。The number of days in month for the specified year.

たとえば、month が 2 月を表す 2 に等しい場合、戻り値には、year が閏年かどうかによって 28 または 29 を返します。For example, if month equals 2 for February, the return value is 28 or 29 depending upon whether year is a leap year.

例外

month が 1 未満であるか、または 12 を超えています。month is less than 1 or greater than 12.

- または --or- year が 1 未満であるか、または 9999 を超えています。year is less than 1 or greater than 9999.

次の例では、 DaysInMonthメソッドを使用して、2001年7月、1998年2月 (うるう年以外)、および 1996 (閏年) の日数を確認する方法を示しています。The following example demonstrates how to use the DaysInMonth method to determine the number of days in July 2001, February 1998 (a non-leap year), and February 1996 (a leap year).

using namespace System;

int main()
{
   const int July = 7;
   const int Feb = 2;
   
   int daysInJuly = System::DateTime::DaysInMonth( 2001, July );
   Console::WriteLine(daysInJuly);   
   // daysInFeb gets 28 because the year 1998 was not a leap year.
   int daysInFeb = System::DateTime::DaysInMonth( 1998, Feb );
   Console::WriteLine(daysInFeb);
   // daysInFebLeap gets 29 because the year 1996 was a leap year.
   int daysInFebLeap = System::DateTime::DaysInMonth( 1996, Feb );
   Console::WriteLine(daysInFebLeap);
}
// The example displays the following output:
//       31
//       28
//       29
using System;

class Example
{
	static void Main()
	{
		const int July = 7;
		const int Feb = 2;

		int daysInJuly = System.DateTime.DaysInMonth(2001, July);
        Console.WriteLine(daysInJuly);
        
		// daysInFeb gets 28 because the year 1998 was not a leap year.
		int daysInFeb = System.DateTime.DaysInMonth(1998, Feb);
        Console.WriteLine(daysInFeb);
        
		// daysInFebLeap gets 29 because the year 1996 was a leap year.
		int daysInFebLeap = System.DateTime.DaysInMonth(1996, Feb);
		Console.WriteLine(daysInFebLeap);
	}
}
// The example displays the following output:
//       31
//       28
//       29
Class Example
   Public Shared Sub Main()
      Const July As Integer = 7
      Const Feb As Integer = 2

      Dim daysInJuly As Integer = System.DateTime.DaysInMonth(2001, July)
      Console.WriteLine(daysInJuly)
      
      ' daysInFeb gets 28 because the year 1998 was not a leap year.
      Dim daysInFeb As Integer = System.DateTime.DaysInMonth(1998, Feb)
      Console.WriteLine(daysInFeb)
      ' daysInFebLeap gets 29 because the year 1996 was a leap year.
      Dim daysInFebLeap As Integer = System.DateTime.DaysInMonth(1996, Feb)
      Console.WriteLine(daysInFebLeap)
   End Sub
End Class
' The example displays the following output:
'       31
'       28
'       29

次の例では、整数の配列で指定された年の各月の日数を表示します。The following example displays the number of days in each month of a year specified in an integer array.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      int[] years = { 2012, 2014 };
      DateTimeFormatInfo dtfi = DateTimeFormatInfo.CurrentInfo;
      Console.WriteLine("Days in the Month for the {0} culture " +
                        "using the {1} calendar\n", 
                        CultureInfo.CurrentCulture.Name, 
                        dtfi.Calendar.GetType().Name.Replace("Calendar", ""));
      Console.WriteLine("{0,-10}{1,-15}{2,4}\n", "Year", "Month", "Days");
      
      foreach (var year in years) {
         for (int ctr = 0; ctr <= dtfi.MonthNames.Length - 1; ctr++) {
            if (String.IsNullOrEmpty(dtfi.MonthNames[ctr]))  
               continue;
            
            Console.WriteLine("{0,-10}{1,-15}{2,4}", year, 
                              dtfi.MonthNames[ctr], 
                              DateTime.DaysInMonth(year, ctr + 1));
         }
         Console.WriteLine(); 
      }
   }
}
// The example displays the following output:
//    Days in the Month for the en-US culture using the Gregorian calendar
//    
//    Year      Month          Days
//    
//    2012      January          31
//    2012      February         29
//    2012      March            31
//    2012      April            30
//    2012      May              31
//    2012      June             30
//    2012      July             31
//    2012      August           31
//    2012      September        30
//    2012      October          31
//    2012      November         30
//    2012      December         31
//    
//    2014      January          31
//    2014      February         28
//    2014      March            31
//    2014      April            30
//    2014      May              31
//    2014      June             30
//    2014      July             31
//    2014      August           31
//    2014      September        30
//    2014      October          31
//    2014      November         30
//    2014      December         31
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim years() As Integer = { 2012, 2014 }
      Dim dtfi As DateTimeFormatInfo = DateTimeFormatInfo.CurrentInfo
      Console.WriteLine("Days in the Month for the {0} culture " +
                        "using the {1} calendar", 
                        CultureInfo.CurrentCulture.Name, 
                        dtfi.Calendar.GetType.Name.Replace("Calendar", ""))
      Console.WriteLine()
      Console.WriteLine("{0,-10}{1,-15}{2,4}", "Year", "Month", "Days")
      Console.WriteLine()
      
      For Each [year] As Integer In years
         For ctr As Integer = 0 To dtfi.MonthNames.Length - 1
            If String.IsNullOrEmpty(dtfi.MonthNames(ctr)) Then 
               Continue For
            End If    
            
            Console.WriteLine("{0,-10}{1,-15}{2,4}", [year], 
                              dtfi.MonthNames(ctr), 
                              DateTime.DaysInMonth([year], ctr + 1))
         Next
         Console.WriteLine() 
      Next
   End Sub
End Module
' The example displays the following output:
'    Days in the Month for the en-US culture using the Gregorian calendar
'    
'    Year      Month          Days
'    
'    2012      January          31
'    2012      February         29
'    2012      March            31
'    2012      April            30
'    2012      May              31
'    2012      June             30
'    2012      July             31
'    2012      August           31
'    2012      September        30
'    2012      October          31
'    2012      November         30
'    2012      December         31
'    
'    2014      January          31
'    2014      February         28
'    2014      March            31
'    2014      April            30
'    2014      May              31
'    2014      June             30
'    2014      July             31
'    2014      August           31
'    2014      September        30
'    2014      October          31
'    2014      November         30
'    2014      December         31

注釈

このDaysInMonthメソッドは、 monthグレゴリオyear暦が現在のカルチャの現在の暦でない場合でも、とは常にとを、グレゴリオ暦の月と年として解釈します。The DaysInMonth method always interprets month and year as the month and year of the Gregorian calendar even if the Gregorian calendar is not the current culture's current calendar. 特定の暦の指定した月の日数を取得するには、そのカレンダーのGetDaysInMonthメソッドを呼び出します。To get the number of days in a specified month of a particular calendar, call that calendar's GetDaysInMonth method.

適用対象