GregorianCalendar クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
グレゴリオ暦を表します。
public ref class GregorianCalendar : System::Globalization::Calendar
public class GregorianCalendar : System.Globalization.Calendar
[System.Serializable]
public class GregorianCalendar : System.Globalization.Calendar
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class GregorianCalendar : System.Globalization.Calendar
type GregorianCalendar = class
inherit Calendar
[<System.Serializable>]
type GregorianCalendar = class
inherit Calendar
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type GregorianCalendar = class
inherit Calendar
Public Class GregorianCalendar
Inherits Calendar
- 継承
- 属性
例
次のコード例では、カレンダーが DateTimeFormatInfo グレゴリオ暦で、カルチャで "A.D" という時代号が使用されている場合にのみ、時代 (年号) の名前の句読点が無視されることを示しています。
using namespace System;
using namespace System::Globalization;
using namespace System::Collections;
int main()
{
// Creates strings with punctuation and without.
String^ strADPunc = "A.D.";
String^ strADNoPunc = "AD";
String^ strCEPunc = "C.E.";
String^ strCENoPunc = "CE";
// Calls DTFI::GetEra for each culture that uses GregorianCalendar as the default calendar.
Console::WriteLine( " ----- AD ----- ----- CE -----" );
Console::WriteLine( "CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR" );
IEnumerator^ en = CultureInfo::GetCultures( CultureTypes::SpecificCultures )->GetEnumerator();
while ( en->MoveNext() )
{
CultureInfo^ myCI = safe_cast<CultureInfo^>(en->Current);
Console::Write( "{0, -12}", myCI );
Console::Write( "{0,-7}{1,-9}", myCI->DateTimeFormat->GetEra( strADPunc ), myCI->DateTimeFormat->GetEra( strADNoPunc ) );
Console::Write( "{0, -7}{1, -9}", myCI->DateTimeFormat->GetEra( strCEPunc ), myCI->DateTimeFormat->GetEra( strCENoPunc ) );
Console::Write( "{0}", myCI->Calendar );
Console::WriteLine();
}
}
/*
This code produces the following output. This output has been cropped for brevity.
----- AD ----- ----- CE -----
CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR
ar-SA -1 -1 -1 -1 System.Globalization.HijriCalendar
ar-IQ 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-EG 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-LY 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-DZ 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-MA 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-TN 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-OM 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-YE 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-SY 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-JO 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-LB 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-KW 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-AE 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-BH 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-QA 1 1 -1 -1 System.Globalization.GregorianCalendar
bg-BG 1 1 -1 -1 System.Globalization.GregorianCalendar
ca-ES -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-TW -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-CN -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-HK 1 1 -1 -1 System.Globalization.GregorianCalendar
zh-SG 1 1 -1 -1 System.Globalization.GregorianCalendar
zh-MO 1 1 -1 -1 System.Globalization.GregorianCalendar
cs-CZ -1 -1 -1 -1 System.Globalization.GregorianCalendar
da-DK 1 1 -1 -1 System.Globalization.GregorianCalendar
*/
using System;
using System.Globalization;
public class SamplesGregorianCalendar {
public static void Main() {
// Creates strings with punctuation and without.
String strADPunc = "A.D.";
String strADNoPunc = "AD";
String strCEPunc = "C.E.";
String strCENoPunc = "CE";
// Calls DTFI.GetEra for each culture that uses GregorianCalendar as the default calendar.
Console.WriteLine( " ----- AD ----- ----- CE -----" );
Console.WriteLine( "CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR" );
foreach ( CultureInfo myCI in CultureInfo.GetCultures( CultureTypes.SpecificCultures ) ) {
Console.Write( "{0,-12}", myCI );
Console.Write( "{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra( strADPunc ), myCI.DateTimeFormat.GetEra( strADNoPunc ) );
Console.Write( "{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra( strCEPunc ), myCI.DateTimeFormat.GetEra( strCENoPunc ) );
Console.Write( "{0}", myCI.Calendar );
Console.WriteLine();
}
}
}
/*
This code produces the following output. This output has been cropped for brevity.
----- AD ----- ----- CE -----
CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR
ar-SA -1 -1 -1 -1 System.Globalization.HijriCalendar
ar-IQ 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-EG 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-LY 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-DZ 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-MA 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-TN 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-OM 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-YE 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-SY 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-JO 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-LB 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-KW 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-AE 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-BH 1 1 -1 -1 System.Globalization.GregorianCalendar
ar-QA 1 1 -1 -1 System.Globalization.GregorianCalendar
bg-BG 1 1 -1 -1 System.Globalization.GregorianCalendar
ca-ES -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-TW -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-CN -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-HK -1 -1 -1 -1 System.Globalization.GregorianCalendar
zh-SG 1 1 -1 -1 System.Globalization.GregorianCalendar
zh-MO 1 1 -1 -1 System.Globalization.GregorianCalendar
cs-CZ -1 -1 -1 -1 System.Globalization.GregorianCalendar
da-DK 1 1 -1 -1 System.Globalization.GregorianCalendar
*/
Imports System.Globalization
Public Class SamplesGregorianCalendar
Public Shared Sub Main()
' Creates strings with punctuation and without.
Dim strADPunc As [String] = "A.D."
Dim strADNoPunc As [String] = "AD"
Dim strCEPunc As [String] = "C.E."
Dim strCENoPunc As [String] = "CE"
' Calls DTFI.GetEra for each culture that uses GregorianCalendar as the default calendar.
Console.WriteLine(" ----- AD ----- ----- CE -----")
Console.WriteLine("CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR")
Dim myCI As CultureInfo
For Each myCI In CultureInfo.GetCultures(CultureTypes.SpecificCultures)
Console.Write("{0,-12}", myCI)
Console.Write("{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra(strADPunc), myCI.DateTimeFormat.GetEra(strADNoPunc))
Console.Write("{0,-7}{1,-9}", myCI.DateTimeFormat.GetEra(strCEPunc), myCI.DateTimeFormat.GetEra(strCENoPunc))
Console.Write("{0}", myCI.Calendar)
Console.WriteLine()
Next myCI
End Sub
End Class
'This code produces the following output. This output has been cropped for brevity.
'
' ----- AD ----- ----- CE -----
'CULTURE PUNC NO PUNC PUNC NO PUNC CALENDAR
'ar-SA -1 -1 -1 -1 System.Globalization.HijriCalendar
'ar-IQ 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-EG 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-LY 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-DZ 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-MA 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-TN 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-OM 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-YE 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-SY 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-JO 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-LB 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-KW 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-AE 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-BH 1 1 -1 -1 System.Globalization.GregorianCalendar
'ar-QA 1 1 -1 -1 System.Globalization.GregorianCalendar
'bg-BG 1 1 -1 -1 System.Globalization.GregorianCalendar
'ca-ES -1 -1 -1 -1 System.Globalization.GregorianCalendar
'zh-TW -1 -1 -1 -1 System.Globalization.GregorianCalendar
'zh-CN -1 -1 -1 -1 System.Globalization.GregorianCalendar
'zh-HK -1 -1 -1 -1 System.Globalization.GregorianCalendar
'zh-SG 1 1 -1 -1 System.Globalization.GregorianCalendar
'zh-MO 1 1 -1 -1 System.Globalization.GregorianCalendar
'cs-CZ -1 -1 -1 -1 System.Globalization.GregorianCalendar
'da-DK 1 1 -1 -1 System.Globalization.GregorianCalendar
注釈
グレゴリオ暦は、B.C. または B.C.E.、A.D. または C.E の 2 つの時代を認識します。このクラスの実装では、 GregorianCalendar 現在の時代 (A.D. または C.E.) のみが認識されます。
注意
GregorianCalendar クラスや .NET Framework のその他のカレンダー クラスの使用方法の詳細については、「カレンダーの使用」を参照してください。
グレゴリオ暦の閏年は、100 で割り切れない限り、4 で均等に割り切れる年として定義されます。 ただし、400 で割り切れる年は閏年です。 たとえば、1900 年は閏年ではなく、2000 年でした。 平年は 365 日で、閏年は 366 日です。
グレゴリオ暦には、1 月 (31 日)、2 月 (28 日または 29 日)、3 月 (31 日)、4 月 (30 日)、5 月 (30 日) の 12 か月が含まれます。 31 日、6 月 (30 日)、7 月 (31 日)、8 月 (31 日)、9 月 (30 日)、10 月 (31 日)、11 月 (30 日)、および 12 月 (31 日) 2 月には閏年は 29 日、一般的な年は 28 日です。
重要
既定では、すべての DateTime 値と DateTimeOffset 値はグレゴリオ暦の日付と時刻を表します。
グレゴリオ暦はユリウス暦(クラスによって JulianCalendar 表される)の代わりとして開発され、1582年10月15日に少数の文化で初めて導入されました。 文化がグレゴリオ暦を採用する前の歴史的な日付を操作する場合は、元のカレンダーが.NET Frameworkで使用可能な場合は、元のカレンダーを使用する必要があります。 たとえば、デンマークがユリウス暦からグレゴリオ暦に変更されたのは、2 月 19 日 (ユリウス暦の場合) または 3 月 1 日 (グレゴリオ暦の場合) の 1700 です。 この場合、グレゴリオ暦の導入前の日付については、ユリウス暦を使用する必要があります。 ただし、クラスの組み込みサポートを提供するカルチャがないことに JulianCalendar 注意してください。 クラスは JulianCalendar 、スタンドアロンカレンダーとして使用する必要があります。 詳細については、「カレンダーの使用」を参照してください。
次の例は、ユリウス暦の 1700 年 2 月 18 日 (ユリウス暦がデンマークで正式に使用された最終日) が、グレゴリオ暦の 1700 年 3 月 1 日より 1 日前であることを示しています。
using System;
using System.Globalization;
using System.Threading;
public class Example
{
public static void Main()
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
JulianCalendar jc = new JulianCalendar();
DateTime lastDate = new DateTime(1700, 2, 18, jc);
Console.WriteLine("Last date (Gregorian): {0:d}", lastDate);
Console.WriteLine("Last date (Julian): {0}-{1}-{2}\n", jc.GetDayOfMonth(lastDate),
jc.GetMonth(lastDate), jc.GetYear(lastDate));
DateTime firstDate = lastDate.AddDays(1);
Console.WriteLine("First date (Gregorian): {0:d}", firstDate);
Console.WriteLine("First date (Julian): {0}-{1}-{2}", jc.GetDayOfMonth(firstDate),
jc.GetMonth(firstDate), jc.GetYear(firstDate));
}
}
// The example displays the following output:
// Last date (Gregorian): 28-02-1700
// Last date (Julian): 18-2-1700
//
// First date (Gregorian): 01-03-1700
// First date (Julian): 19-2-1700
Imports System.Globalization
Imports System.Threading
Module Example
Public Sub Main()
Thread.CurrentThread.CurrentCulture = New CultureInfo("da-DK")
Dim jc As New JulianCalendar()
Dim lastDate As New DateTime(1700, 2, 18, jc)
Console.WriteLine("Last date (Gregorian): {0:d}", lastDate)
Console.WriteLine("Last date (Julian): {0}-{1}-{2}", jc.GetDayOfMonth(lastDate),
jc.GetMonth(lastDate), jc.GetYear(lastDate))
Console.WriteLine()
Dim firstDate As DateTime = lastDate.AddDays(1)
Console.WriteLine("First date (Gregorian): {0:d}", firstDate)
Console.WriteLine("First date (Julian): {0}-{1}-{2}", jc.GetDayOfMonth(firstDate),
jc.GetMonth(firstDate), jc.GetYear(firstDate))
End Sub
End Module
' The example displays the following output:
' Last date (Gregorian): 28-02-1700
' Last date (Julian): 18-2-1700
'
' First date (Gregorian): 01-03-1700
' First date (Julian): 19-2-1700
それぞれ CultureInfo は、一連の予定表をサポートしています。 Calendar プロパティは、カルチャの既定のカレンダーを返し、OptionalCalendars プロパティは、カルチャでサポートされているすべてのカレンダーを含む配列を返します。 によって使用される予定表を CultureInfo変更するには、アプリケーションで プロパティを Calendar 新 Calendarしい に設定できます。
GetEraでは、 が選択DateTimeFormatInfo.Calendarされ、カルチャで "A.D" が時代号名として使用されている場合 、つまり "A.D" が "AD" と等しい場合GregorianCalendarにのみ、短縮時代 (年号) の句読点が無視されます。
コンストラクター
GregorianCalendar() |
既定の GregorianCalendar 値を使用して、GregorianCalendarTypes クラスの新しいインスタンスを初期化します。 |
GregorianCalendar(GregorianCalendarTypes) |
指定した GregorianCalendarTypes 値を使用して、GregorianCalendar クラスの新しいインスタンスを初期化します。 |
フィールド
ADEra |
現在の時代 (年号) を表します。 このフィールドは定数です。 |
CurrentEra |
現在のカレンダーの現在の時代 (年号) を表します。 このフィールドの値は 0 です。 (継承元 Calendar) |
プロパティ
AlgorithmType |
現在のカレンダーの暦法 (太陽暦、太陰暦、または両者の組み合わせ) を示す値を取得します。 |
AlgorithmType |
現在のカレンダーの暦法 (太陽暦、太陰暦、または両者の組み合わせ) を示す値を取得します。 (継承元 Calendar) |
CalendarType |
現在の GregorianCalendarTypes の言語バージョンを示す GregorianCalendar 値を取得または設定します。 |
DaysInYearBeforeMinSupportedYear |
MinSupportedDateTime プロパティで指定された年の前の年の日数を取得します。 (継承元 Calendar) |
Eras |
GregorianCalendar における時代 (年号) のリストを取得します。 |
IsReadOnly |
この Calendar オブジェクトが読み取り専用かどうかを示す値を取得します。 (継承元 Calendar) |
MaxSupportedDateTime |
GregorianCalendar 型でサポートされている最も新しい日付と時刻を取得します。 |
MaxSupportedDateTime |
この Calendar オブジェクトでサポートされている最も新しい日付と時刻を取得します。 (継承元 Calendar) |
MinSupportedDateTime |
GregorianCalendar 型でサポートされている最も古い日付と時刻を取得します。 |
MinSupportedDateTime |
この Calendar オブジェクトでサポートされている最も古い日付と時刻を取得します。 (継承元 Calendar) |
TwoDigitYearMax |
年の 2 桁表記で表すことができる 100 年間の範囲内で最後に当たる年を取得または設定します。 |
メソッド
適用対象
こちらもご覧ください
.NET