GregorianCalendar クラス

定義

グレゴリオ暦を表します。

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
継承
GregorianCalendar
属性

次のコード例では、カレンダーが 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変更するには、アプリケーションで プロパティを CalendarCalendarしい に設定できます。

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 年間の範囲内で最後に当たる年を取得または設定します。

メソッド

AddDays(DateTime, Int32)

指定した DateTime から指定した日数が経過した後の DateTime を返します。

(継承元 Calendar)
AddHours(DateTime, Int32)

指定した DateTime から指定した時間数が経過した後の DateTime を返します。

(継承元 Calendar)
AddMilliseconds(DateTime, Double)

指定した DateTime から指定したミリ秒数が経過した後の DateTime を返します。

(継承元 Calendar)
AddMinutes(DateTime, Int32)

指定した DateTime から指定した分数が経過した後の DateTime を返します。

(継承元 Calendar)
AddMonths(DateTime, Int32)

指定した DateTime から指定した月数が経過した後の DateTime を返します。

AddSeconds(DateTime, Int32)

指定した DateTime から指定した秒数が経過した後の DateTime を返します。

(継承元 Calendar)
AddWeeks(DateTime, Int32)

指定した DateTime から指定した週数が経過した後の DateTime を返します。

AddWeeks(DateTime, Int32)

指定した DateTime から指定した週数が経過した後の DateTime を返します。

(継承元 Calendar)
AddYears(DateTime, Int32)

指定した DateTime から指定した年数が経過した後の DateTime を返します。

Clone()

現在の Calendar オブジェクトのコピーである新しいオブジェクトを作成します。

(継承元 Calendar)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetDayOfMonth(DateTime)

指定した DateTime の日付を返します。

GetDayOfWeek(DateTime)

指定した DateTime の曜日を返します。

GetDayOfYear(DateTime)

指定した DateTime の年間積算日を返します。

GetDaysInMonth(Int32, Int32)

現在の時代 (年号) の指定した月および年の日数を返します。

(継承元 Calendar)
GetDaysInMonth(Int32, Int32, Int32)

指定した時代 (年号) の指定した年の指定した月の日数を返します。

GetDaysInYear(Int32)

現在の時代 (年号) の指定した年の日数を返します。

(継承元 Calendar)
GetDaysInYear(Int32, Int32)

指定した時代 (年号) の指定した年の日数を返します。

GetEra(DateTime)

指定した DateTime の時代 (年号) を返します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetHour(DateTime)

指定した DateTime の時間の値を返します。

(継承元 Calendar)
GetLeapMonth(Int32)

指定された年の閏月を計算します。

(継承元 Calendar)
GetLeapMonth(Int32, Int32)

指定された年と時代 (年号) の閏月を計算します。

GetLeapMonth(Int32, Int32)

指定された年と時代 (年号) の閏月を計算します。

(継承元 Calendar)
GetMilliseconds(DateTime)

指定した DateTime のミリ秒の値を返します。

(継承元 Calendar)
GetMinute(DateTime)

指定した DateTime の分の値を返します。

(継承元 Calendar)
GetMonth(DateTime)

指定した DateTime の月を返します。

GetMonthsInYear(Int32)

現在の時代 (年号) の指定した年の月数を返します。

(継承元 Calendar)
GetMonthsInYear(Int32, Int32)

指定した時代 (年号) の指定した年の月数を返します。

GetSecond(DateTime)

指定した DateTime の秒の値を返します。

(継承元 Calendar)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

指定した DateTime オブジェクトの日付を含むその年の週を返します。

GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

指定した DateTime 値の日付を含む年の週を返します。

(継承元 Calendar)
GetYear(DateTime)

指定した DateTime の年を返します。

IsLeapDay(Int32, Int32, Int32)

現在の時代 (年号) の指定した日付が閏日かどうかを判断します。

(継承元 Calendar)
IsLeapDay(Int32, Int32, Int32, Int32)

指定した時代 (年号) の指定した日付が閏日かどうかを確認します。

IsLeapMonth(Int32, Int32)

現在の時代 (年号) の指定した年の指定した月が閏月かどうかを判断します。

(継承元 Calendar)
IsLeapMonth(Int32, Int32, Int32)

指定した時代 (年号) の指定した年の指定した月が閏月かどうかを確認します。

IsLeapYear(Int32)

現在の時代 (年号) の指定した年が閏年かどうかを判断します。

(継承元 Calendar)
IsLeapYear(Int32, Int32)

指定した時代 (年号) の指定した年が閏年かどうかを確認します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

現在の時代 (年号) の指定した日付と時刻に設定された DateTime を返します。

(継承元 Calendar)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

指定した時代 (年号) の指定した日付と時刻に設定された DateTime を返します。

ToFourDigitYear(Int32)

TwoDigitYearMax プロパティを使用して、指定した年を 4 桁表記に変換し、適切な世紀を判断します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください