Calendar.GetDaysInMonth Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Saat ditimpa di kelas turunan, mengembalikan jumlah hari dalam bulan yang ditentukan.
Overload
GetDaysInMonth(Int32, Int32) |
Mengembalikan jumlah hari dalam bulan dan tahun yang ditentukan dari era saat ini. |
GetDaysInMonth(Int32, Int32, Int32) |
Saat ditimpa di kelas turunan, mengembalikan jumlah hari dalam bulan, tahun, dan era yang ditentukan. |
GetDaysInMonth(Int32, Int32)
- Sumber:
- Calendar.cs
- Sumber:
- Calendar.cs
- Sumber:
- Calendar.cs
Mengembalikan jumlah hari dalam bulan dan tahun yang ditentukan dari era saat ini.
public:
virtual int GetDaysInMonth(int year, int month);
public virtual int GetDaysInMonth (int year, int month);
abstract member GetDaysInMonth : int * int -> int
override this.GetDaysInMonth : int * int -> int
Public Overridable Function GetDaysInMonth (year As Integer, month As Integer) As Integer
Parameter
- year
- Int32
Bilangan bulat yang mewakili tahun.
- month
- Int32
Bilangan bulat positif yang mewakili bulan tersebut.
Mengembalikan
Jumlah hari dalam bulan yang ditentukan dalam tahun yang ditentukan di era saat ini.
Pengecualian
year
berada di luar rentang yang didukung oleh kalender.
-atau-
month
berada di luar rentang yang didukung oleh kalender.
Contoh
Contoh kode berikut membandingkan implementasi kelas yang Calendar berbeda.
using namespace System;
using namespace System::Globalization;
int main()
{
// Creates an instance of every Calendar type.
array<Calendar^>^myCals = gcnew array<Calendar^>(8);
myCals[ 0 ] = gcnew GregorianCalendar;
myCals[ 1 ] = gcnew HebrewCalendar;
myCals[ 2 ] = gcnew HijriCalendar;
myCals[ 3 ] = gcnew JapaneseCalendar;
myCals[ 4 ] = gcnew JulianCalendar;
myCals[ 5 ] = gcnew KoreanCalendar;
myCals[ 6 ] = gcnew TaiwanCalendar;
myCals[ 7 ] = gcnew 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;
int j;
int iYear;
int iMonth;
int iDay;
DateTime myDT = DateTime::Today;
for ( i = 0; i < myCals->Length; i++ )
{
iYear = myCals[ i ]->GetYear( myDT );
Console::WriteLine();
Console::WriteLine( " {0}, Year: {1}", myCals[ i ]->GetType(), myCals[ i ]->GetYear( myDT ) );
Console::WriteLine( " MonthsInYear: {0}", myCals[ i ]->GetMonthsInYear( iYear ) );
Console::WriteLine( " DaysInYear: {0}", myCals[ i ]->GetDaysInYear( iYear ) );
Console::WriteLine( " Days in each month:" );
Console::Write( " " );
for ( j = 1; j <= myCals[ i ]->GetMonthsInYear( iYear ); j++ )
Console::Write( " {0, -5}", myCals[ i ]->GetDaysInMonth( iYear, j ) );
Console::WriteLine();
iMonth = myCals[ i ]->GetMonth( myDT );
iDay = myCals[ i ]->GetDayOfMonth( myDT );
Console::WriteLine( " IsLeapDay: {0}", myCals[ i ]->IsLeapDay( iYear, iMonth, iDay ) );
Console::WriteLine( " IsLeapMonth: {0}", myCals[ i ]->IsLeapMonth( iYear, iMonth ) );
Console::WriteLine( " IsLeapYear: {0}", myCals[ i ]->IsLeapYear( iYear ) );
}
}
/*
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
*/
using System;
using System.Globalization;
public class SamplesCalendar {
public static void Main() {
// Creates an instance of every Calendar type.
Calendar[] myCals = new Calendar[8];
myCals[0] = new GregorianCalendar();
myCals[1] = new HebrewCalendar();
myCals[2] = new HijriCalendar();
myCals[3] = new JapaneseCalendar();
myCals[4] = new JulianCalendar();
myCals[5] = new KoreanCalendar();
myCals[6] = new TaiwanCalendar();
myCals[7] = 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 );
Console.WriteLine();
Console.WriteLine( "{0}, Year: {1}", myCals[i].GetType(), myCals[i].GetYear( myDT ) );
Console.WriteLine( " MonthsInYear: {0}", myCals[i].GetMonthsInYear( iYear ) );
Console.WriteLine( " DaysInYear: {0}", myCals[i].GetDaysInYear( iYear ) );
Console.WriteLine( " Days in each month:" );
Console.Write( " " );
for ( j = 1; j <= myCals[i].GetMonthsInYear( iYear ); j++ )
Console.Write( " {0,-5}", myCals[i].GetDaysInMonth( iYear, j ) );
Console.WriteLine();
iMonth = myCals[i].GetMonth( myDT );
iDay = myCals[i].GetDayOfMonth( myDT );
Console.WriteLine( " IsLeapDay: {0}", myCals[i].IsLeapDay( iYear, iMonth, iDay ) );
Console.WriteLine( " IsLeapMonth: {0}", myCals[i].IsLeapMonth( iYear, iMonth ) );
Console.WriteLine( " IsLeapYear: {0}", myCals[i].IsLeapYear( iYear ) );
}
}
}
/*
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
*/
Imports System.Globalization
Public Class SamplesCalendar
Public Shared Sub Main()
' Creates an instance of every Calendar type.
Dim myCals(7) As Calendar
myCals(0) = New GregorianCalendar()
myCals(1) = New HebrewCalendar()
myCals(2) = New HijriCalendar()
myCals(3) = New JapaneseCalendar()
myCals(4) = New JulianCalendar()
myCals(5) = New KoreanCalendar()
myCals(6) = New TaiwanCalendar()
myCals(7) = 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.
Dim i, j, iYear, iMonth, iDay As Integer
Dim myDT As DateTime = DateTime.Today
For i = 0 To myCals.Length - 1
iYear = myCals(i).GetYear(myDT)
Console.WriteLine()
Console.WriteLine("{0}, Year: {1}", myCals(i).GetType(), myCals(i).GetYear(myDT))
Console.WriteLine(" MonthsInYear: {0}", myCals(i).GetMonthsInYear(iYear))
Console.WriteLine(" DaysInYear: {0}", myCals(i).GetDaysInYear(iYear))
Console.WriteLine(" Days in each month:")
Console.Write(" ")
For j = 1 To myCals(i).GetMonthsInYear(iYear)
Console.Write(" {0,-5}", myCals(i).GetDaysInMonth(iYear, j))
Next j
Console.WriteLine()
iMonth = myCals(i).GetMonth(myDT)
iDay = myCals(i).GetDayOfMonth(myDT)
Console.WriteLine(" IsLeapDay: {0}", myCals(i).IsLeapDay(iYear, iMonth, iDay))
Console.WriteLine(" IsLeapMonth: {0}", myCals(i).IsLeapMonth(iYear, iMonth))
Console.WriteLine(" IsLeapYear: {0}", myCals(i).IsLeapYear(iYear))
Next i
End Sub
End Class
'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
Keterangan
Misalnya, dalam GregorianCalendar, GetDaysInMonth untuk Februari mengembalikan 28 dalam tahun umum atau 29 dalam tahun kabut.
Lihat juga
Berlaku untuk
GetDaysInMonth(Int32, Int32, Int32)
- Sumber:
- Calendar.cs
- Sumber:
- Calendar.cs
- Sumber:
- Calendar.cs
Saat ditimpa di kelas turunan, mengembalikan jumlah hari dalam bulan, tahun, dan era yang ditentukan.
public:
abstract int GetDaysInMonth(int year, int month, int era);
public abstract int GetDaysInMonth (int year, int month, int era);
abstract member GetDaysInMonth : int * int * int -> int
Public MustOverride Function GetDaysInMonth (year As Integer, month As Integer, era As Integer) As Integer
Parameter
- year
- Int32
Bilangan bulat yang mewakili tahun.
- month
- Int32
Bilangan bulat positif yang mewakili bulan tersebut.
- era
- Int32
Bilangan bulat yang mewakili era.
Mengembalikan
Jumlah hari dalam bulan yang ditentukan dalam tahun yang ditentukan di era yang ditentukan.
Pengecualian
year
berada di luar rentang yang didukung oleh kalender.
-atau-
month
berada di luar rentang yang didukung oleh kalender.
-atau-
era
berada di luar rentang yang didukung oleh kalender.
Keterangan
Misalnya, dalam GregorianCalendar, GetDaysInMonth untuk Februari mengembalikan 28 dalam tahun umum atau 29 dalam tahun kabut.
Catatan Bagi Implementer
Kelas turunan harus mendukung CurrentEra ketika diteruskan sebagai era
parameter . Salah satu cara untuk mendukung CurrentEra adalah dengan menggantinya dengan nilai yang disimpan di Eras[0]
, yang merupakan nilai untuk era kalender saat ini.