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
- 継承
- 属性
例
次のコード例は、カレンダーがグレゴリオ暦で、カルチャで時代 (A.D) という名前が使用されている場合にのみ、 DateTimeFormatInfo が時代 (年号) の名前の句読点を無視することを示しています。
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.) のみを認識します。
注
.NET Framework で GregorianCalendar クラスとその他の予定表クラスを使用する方法については、「 カレンダーの操作」を参照してください。
グレゴリオ暦の閏年は、100 で割り切れない限り、4 で均等に割り切れる年として定義されます。 ただし、400 で割り切れる年は閏年です。 たとえば、1900 年は閏年ではなく、2000 年でした。 一般的な年は 365 日、閏年は 366 日です。
グレゴリオ暦のカレンダーには、1 月 (31 日)、2 月 (28 日または 29 日)、3 月 (31 日)、4 月 (30 日)、5 月 (30 日) の 28 日から 31 日の 12 か月があります。 31 日、6 月 (30 日)、7 月 (31 日)、8 月 (31 日)、9 月 (30 日)、10 月 (31 日)、11 月 (30 日)、および 12 月 (31 日)。 2 月は閏年では 29 日、一般的な年は 28 日です。
Important
既定では、すべての DateTime 値と DateTimeOffset 値はグレゴリオ暦の日付と時刻を表します。
グレゴリオ暦はユリウス暦( JulianCalendar クラスで表される)の代わりに開発され、1582年10月15日に少数の文化で初めて導入されました。 カルチャがグレゴリオ暦を採用する前の歴史的な日付を使用する場合は、元のカレンダーが .NET Framework で使用できる場合に使用する必要があります。 たとえば、デンマークはユリウス暦から 2 月 19 日のグレゴリオ暦 (ユリウス暦) または 1700 年の 3 月 1 日 (グレゴリオ暦) に変更されました。 この場合、グレゴリオ暦の採用前の日付については、ユリウス暦を使用する必要があります。 ただし、 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でGregorianCalendarが選択され、カルチャで "A.D" を時代名として使用する場合 (つまり、"A.D") が "AD" と等しい場合にのみ、省略された時代 (年号) 名の句読点を無視します。
コンストラクター
| 名前 | 説明 |
|---|---|
| GregorianCalendar() |
既定のGregorianCalendarTypes値を使用して、GregorianCalendar クラスの新しいインスタンスを初期化します。 |
| GregorianCalendar(GregorianCalendarTypes) |
指定したGregorianCalendarTypes値を使用して、GregorianCalendar クラスの新しいインスタンスを初期化します。 |
フィールド
| 名前 | 説明 |
|---|---|
| ADEra |
現在の時代 (年号) を表します。 このフィールドは定数です。 |
| CurrentEra |
現在のカレンダーの現在の時代 (年号) を表します。 このフィールドの値は 0 です。 (継承元 Calendar) |
プロパティ
| 名前 | 説明 |
|---|---|
| AlgorithmType |
現在のカレンダーが太陽系、月ベース、またはその両方の組み合わせかどうかを示す値を取得します。 |
| CalendarType |
現在のGregorianCalendarの言語バージョンを表すGregorianCalendarTypes値を取得または設定します。 |
| DaysInYearBeforeMinSupportedYear |
MinSupportedDateTime プロパティで指定された年の前の年の日数を取得します。 (継承元 Calendar) |
| Eras |
GregorianCalendarの時代 (年号) の一覧を取得します。 |
| IsReadOnly |
この Calendar オブジェクトが読み取り専用かどうかを示す値を取得します。 (継承元 Calendar) |
| MaxSupportedDateTime |
GregorianCalendar型でサポートされている最新の日付と時刻を取得します。 |
| MinSupportedDateTime |
GregorianCalendar型でサポートされている最も古い日付と時刻を取得します。 |
| TwoDigitYearMax |
2 桁の年で表すことができる 100 年の範囲の最後の年を取得または設定します。 |