Auf Englisch lesen

Teilen über


DateTime.DaysInMonth(Int32, Int32) Methode

Definition

Gibt die Anzahl der Tage im angegebenen Monat und Jahr zurück.

C#
public static int DaysInMonth (int year, int month);

Parameter

year
Int32

Das Jahr.

month
Int32

Der Monat (eine Zahl zwischen 1 und 12).

Gibt zurück

Int32

Die Anzahl der Tage in month für das angegebene year.

Wenn month gleich 2 für Februar ist, ist der Rückgabewert 28 oder 29, abhängig davon, ob year ein Schaltjahr ist.

Ausnahmen

month ist kleiner als 1 oder größer als 12.

  • oder -

year ist kleiner als 1 oder größer als 9999.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die -Methode verwendet wird, um die Anzahl der Tage im Juli DaysInMonth 2001, Februar 1998 (ein Nicht-Schaltjahr) und Februar 1996 (schaltjahr) zu bestimmen.

C#
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

Im folgenden Beispiel wird die Anzahl der Tage in jedem Monat eines Jahres angezeigt, die in einem ganzzahligen Array angegeben sind.

C#
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

Hinweise

Die -Methode interpretiert und immer als Monat und Jahr des gregorianischen Kalenders, auch wenn der gregorianische Kalender nicht der aktuelle DaysInMonth Kalender der aktuellen Kultur month year ist. Um die Anzahl der Tage in einem bestimmten Monat eines bestimmten Kalenders zu erhalten, rufen Sie die -Methode dieses Kalenders GetDaysInMonth auf.

Gilt für

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0