JapaneseCalendar.Eras 属性

定义

获取 JapaneseCalendar 中的纪元列表。

public:
 virtual property cli::array <int> ^ Eras { cli::array <int> ^ get(); };
public override int[] Eras { get; }
member this.Eras : int[]
Public Overrides ReadOnly Property Eras As Integer()

属性值

Int32[]

表示 JapaneseCalendar 中的纪元的整数数组。

示例

以下示例显示 属性中包含的 Eras 值。

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Creates and initializes a JapaneseCalendar.
   JapaneseCalendar^ myCal = gcnew JapaneseCalendar;
   
   // Displays the values in the Eras property.
   for ( int i = 0; i < myCal->Eras->Length; i++ )
   {
      Console::WriteLine( "Eras[ {0}] = {1}", i, myCal->Eras[ i ] );

   }
}

/*
This code produces the following output.

Eras->Item[0] = 4
Eras->Item[1] = 3
Eras->Item[2] = 2
Eras->Item[3] = 1

*/
using System;
using System.Globalization;

public class SamplesJapaneseCalendar  {

   public static void Main()  {

      // Creates and initializes a JapaneseCalendar.
      JapaneseCalendar myCal = new JapaneseCalendar();

      // Displays the values in the Eras property.
      for ( int i = 0; i < myCal.Eras.Length; i++ )  {
         Console.WriteLine( "Eras[{0}] = {1}", i, myCal.Eras[i] );
      }
   }
}

/*
This code produces the following output.

Eras[0] = 4
Eras[1] = 3
Eras[2] = 2
Eras[3] = 1

*/
Imports System.Globalization

Public Class SamplesJapaneseCalendar

   Public Shared Sub Main()

      ' Creates and initializes a JapaneseCalendar.
      Dim myCal As New JapaneseCalendar()

      ' Displays the values in the Eras property.
      Dim i As Integer
      For i = 0 To myCal.Eras.Length - 1
         Console.WriteLine("Eras[{0}] = {1}", i, myCal.Eras(i))
      Next i

   End Sub

End Class

'This code produces the following output.
'
'Eras[0] = 4
'Eras[1] = 3
'Eras[2] = 2
'Eras[3] = 1
'

注解

日本历法承认每个天皇统治的一个时代。 最近的两个时代是平成纪元,从公历1989年开始,以及从公历2019年开始的Reiwa时代。 纪元名称通常在年份前显示。 例如,公历年 2001 是日本历年平成 13。 请注意,一个时代的第一年被称为“甘宁”。因此,公历1989年是日本历年平成甘宁。

重要

日本历法中的年号是根据天皇统治来命名的,因此预计会发生变化。 例如,2019 年 5 月 1 日在 JapaneseCalendarJapaneseLunisolarCalendar 中标志着令和年号的开始。 这种年号的变化会影响使用这些日历的所有应用程序。 有关详细信息并确定应用程序是否受到影响,请参阅 在 .NET 中处理日语日历中的新纪元。 有关在 Windows 系统上测试应用程序以确保其为时代更改做好准备的信息,请参阅 为日本时代更改准备应用程序。 有关 .NET 中支持具有多个纪元的日历的功能以及使用支持多个纪元的日历时的最佳做法,请参阅 使用纪元

此类将数字分配给纪元,如下所示:

GetEra 值 纪元名称 时代缩写 公历日期
5 令和 (reiwa) 令和 (R, r) 2019 年 5 月 1 日至今
4 平成 (平成) 平 (H、h) 1989年1月8日至今
3 昭和 (昭和) 昭 (S) 1926 年 12 月 25 日至 1989 年 1 月 7 日
2 大正 (大正) 大 (T、t) 1912 年 7 月 30 日至 1926 年 12 月 24 日
1 明治 (明治) 明 (M, m) 1868 年 9 月 8 日至 1912 年 7 月 29 日

此类处理从 1868 年 1 月 1 日 (1868 年 1 月 1 日开始的公历) 的日期。 虽然日本历法在公历) 年明治 6 (1873 年从农历切换到太阳历,但这种实现仅基于太阳历。

注意

如果将来添加其他纪元,则应用程序可能会遇到超过日本日历预期的五个纪元。 应测试应用程序,以确保它们继续在此类事件中工作;请参阅 日本日历的纪元处理

适用于

另请参阅