和暦での元号処理
多くのカレンダーには、AD/BC や CE/BCE などの時代 (年号) があります。 日本暦では、年号と年号の組み合わせで年号が記載されています。 たとえば、2009 年は平成 21 年です。 以前は日本の時代名が頻繁に変わりましたが、今では日本の時代は皇室の継承によってのみ変化します。 Windowsと Microsoft .NET は、明治、大社、正和、平成という 4 つの近代時代を歴史的にサポートしてきました。
Windows 7、Windows Server 2008 R2、および .NET Framework 4 では、今後、時代 (年号) が追加される可能性があることを Microsoft は認識しています。 これらのバージョンのWindowsでは、時代 (年号) データがキーの下のレジストリに格納されます。
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras
必要に応じて、通常のWindows Updateプロセスを通じて、そのキーに新しい時代号を追加できます。 このキーは、レジストリ エディター (Regedit.exe) を使用して表示できます。 Windows 7 に付属するキーと値の例を次に示します。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras]
"1868 01 01"="明治_明_Meiji_M"
"1912 07 30"="大正_大_Taisho_T"
"1926 12 25"="昭和_昭_Showa_S"
"1989 01 08"="平成_平_Heisei_H"
各年号の値の名前は、グレゴリオ暦で時代 (年号) が始まる日付です。 値には、日本語の元号名、日本語の短縮名、英語の名前、英語の短縮名が含まれます。
- "YYYY MM DD"="JE_AJE_EE_AEE"
- "YYYY MM DD" は、年、月、日の形式で年の始まりのグレゴリオ暦の日付です。年は 4 桁、日は 2 桁、月も 2 桁です。 日付の各部分をスペースで区切ります。
- "JE" は元号の日本名で、その後にアンダースコアが続きます。
- 「AJE」は、時代 (日本語) の省略名で、その後にアンダースコアが続きます。
- 「Enterprise Edition」は日本の時代の英語名で、その後にアンダースコアが続きます。
- 「AEE」は、日本の時代の英語の短縮名です。
アプリケーション開発者の考慮事項の 1 つは、Windows Updateまたはその他の方法によって時代 (年号) が追加される可能性です。 その場合、アプリケーションは、日本のカレンダーで予想される 4 つの時代 (年号) を超える場合があります。 テストの目的で、テスト担当者はレジストリに新しい時代 (年号) を追加することがあります。ただし、これはマシン全体の動作に影響するため、テスト マシンのみに制限する必要があります。
テストに使用できるこのようなキーの例を次に示します。 この変更は、レジストリ エディターで行うことができます。 (これはテスト使用のみの例であり、将来の追加を予測するためのものではありません)。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras]
"2020 09 01"="仮名_仮_Test Era_X"
これは、Windows 7 以降または .NET Framework 4 以降を実行しているマシンにのみ影響します。 アプリケーション開発者は、このような追加のテスト年号を使用してアプリケーションをテストし、将来の日付に新しい時代号が追加された場合にアプリケーションが引き続き動作することを確認することをお勧めします。
関連トピック