DateTime.DaysInMonth(Int32, Int32) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce il numero di giorni del mese specificato dell'anno specificato.
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
Parametri
- year
- Int32
Anno.
- month
- Int32
Mese (un numero compreso fra 1 e 12).
Restituisce
Numero di giorni in month
per il parametro year
specificato.
Se ad esempio month
risulta uguale a 2 per febbraio, il valore restituito sarà 28 o 29 a seconda che year
sia o meno bisestile.
Eccezioni
month
è minore di 1 o maggiore di 12.
-oppure-
year
è minore di 1 o maggiore di 9999.
Esempio
L'esempio seguente illustra come usare il metodo per determinare il numero di giorni di luglio DaysInMonth 2001, febbraio 1998 (anno non bisestile) e febbraio 1996 (anno bisestile).
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
Nell'esempio seguente viene visualizzato il numero di giorni in ogni mese di un anno specificato in una matrice di interi.
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
Commenti
Il metodo interpreta sempre e come mese e anno del calendario gregoriano anche se il calendario gregoriano non è il calendario corrente DaysInMonth month
delle impostazioni cultura year
correnti. Per ottenere il numero di giorni in un mese specificato di un determinato calendario, chiamare il metodo del GetDaysInMonth calendario.