DateTime.DaysInMonth(Int32, Int32) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen ay ve yıl içindeki gün sayısını döndürür.
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
Parametreler
- year
- Int32
Yıl.
- month
- Int32
Ay (1 ile 12 arasında bir sayı).
Döndürülenler
Belirtilen year
için içindeki month
gün sayısı.
Örneğin, Şubat için 2'ye eşitse month
, artık yıl olup olmadığına year
bağlı olarak dönüş değeri 28 veya 29 olur.
Özel durumlar
month
1'den küçük veya 12'den büyük.
-veya-
year
1'den küçük veya 9999'dan büyük.
Örnekler
Aşağıdaki örnekte Temmuz 2001, Şubat 1998 (artık olmayan yıl) ve Şubat 1996 (artık yıl) gün sayısını belirlemek için yönteminin nasıl kullanılacağı DaysInMonth gösterilmektedir.
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
open System
let July = 7
let Feb = 2
let daysInJuly = DateTime.DaysInMonth(2001, July)
printfn $"{daysInJuly}"
// daysInFeb gets 28 because the year 1998 was not a leap year.
let daysInFeb = DateTime.DaysInMonth(1998, Feb)
printfn $"{daysInFeb}"
// daysInFebLeap gets 29 because the year 1996 was a leap year.
let daysInFebLeap = DateTime.DaysInMonth(1996, Feb)
printfn $"{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
Aşağıdaki örnek, bir tamsayı dizisinde belirtilen yılın her ayındaki gün sayısını görüntüler.
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
open System
open System.Globalization
let years = [| 2012; 2014 |]
let dtfi = DateTimeFormatInfo.CurrentInfo
printfn $"""Days in the Month for the {CultureInfo.CurrentCulture.Name} culture using the {dtfi.Calendar.GetType().Name.Replace("Calendar", "")} calendar\n"""
printfn $"""{"Year",-10}{"Month",-15}{"Days",4}\n"""
for year in years do
for i = 0 to dtfi.MonthNames.Length - 1 do
if not (String.IsNullOrEmpty dtfi.MonthNames[i]) then
printfn $"{year,-10}{dtfi.MonthNames[i],-15}{DateTime.DaysInMonth(year, i + 1),4}"
printfn ""
// 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
Açıklamalar
Yöntemi, DaysInMonth Gregoryen year
takvim geçerli kültürün geçerli takvimi olmasa bile ve değerlerini her zaman Gregoryen takvimin ayı ve yılı olarak yorumlarmonth
. Belirli bir takvimin belirtilen ayındaki gün sayısını almak için takvimin yöntemini çağırın GetDaysInMonth .