Microsoftは8月6日(米国時間)、「Handling a new era in the Japanese calendar in .NET|.NET Blog」において、.NET Frameworkや.NET Coreにおける元号の扱いを説明するとともに、来年に予定されている改元に対処する方法を紹介した。日本政府は2019年4月1日に新しい元号の発表、その1カ月後の2018年5月1日から新元号の適用を予定している。

Microsoftは新元号が発表されてからなるべく早いタイミングでアップデートを提供するとしているが、記事ではそれよりも早いタイミングでテストを行う方法を紹介している。

.NET Frameworkはバージョンやプラットフォームによって元号の扱いが異なっている。その違いは次のとおり。

対象 説明
.NET Framework 4.0およびこれ以降のバージョン、およびWindowsで動作している.NET Core 元号情報はWindowsのレジストリに登録されているデータが使われる
.NET Frameword 3.5 .NET Frameworkにハードコードされている
Windows以外の.NET Core オープンソースのグローバルライブラリInternational Components for Unicode (ICU)のデータが使われている
  • .NET Frameword 4.0以降はオペレーティングシステムのレジストリに登録されている値が使われている - 資料: Microsoft提供

    .NET Frameword 4.0以降はオペレーティングシステムのレジストリに登録されている値が使われている - 資料: Microsoft

  • 元号の切り替わりを確認するサンプルコード - 資料: Microsoft提供

    元号の切り替わりを確認するサンプルコード - 資料: Microsoft

.NET Framework 4.0およびこれ以降のバージョン、またはWindowsで動作している.NET Coreはレジストリに登録されているデータを使っている。このため、アップデートが提供される前であっても模擬的に新しい元号データを追加すれば、Windows Updateが実施される前に新元号を試すことができるという。

2019年4月1日に新元号が発表された場合、新元号が適用される2019年5月1日まで1カ月間しか作業期間がないことになる。事前に試験を実施することで、直前の作業負荷を下げることができるだろう。