VB.netの新元号対応について調べてみました

仕事で和暦表示用クラス(JapaneseCalendar)を利用し、元号変換する以下のような関数を作って利用しています。もうすぐ元号が変わるので対応方法を調べてみました。

この関数は日付型データを与えると元号と年数を返す処理をやっています。
例)2018年1月11日というデータを関数に与えると「平成30」という値が返ってきます。

スポンサーリンク

新元号になったときの対応方法

1.WindowsUpdateで.NET Frameworkを更新する

JapaneseCalendarクラスは.NET Frameworkが入っていれば利用できるので、新元号発表後にWindowsUpdateで.NET Frameworkが更新されれば自動的に新元号が利用できるようになるみたいです。マイクロソフトがすぐに新元号に対応してくれるかは分かりません。

2.レジストリを追加する方法

システムが入っているPCのレジストリを変更すれば新元号の追加はできるみたいです。
以下サイトを参考にしました。
https://msdn.microsoft.com/ja-jp/library/windows/desktop/ee923790(v=vs.85).aspx

  1. regeditを管理者権限で起動し以下レジストリへ移動します。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Calendars\Japanese\Eras
  2. 右クリックして新規→文字列値を選択します。
  3. 「yyyy MM dd」形式で新元号の始まる日を設定します。
    ここでは「2020 01 01」と入力します。
  4. 修正をクリックし、新しい元号を入力します。
    ここでは「新元_新_shin_N」と入力します。
    2文字漢字元号_1文字漢字元号_アルファベット元号_アルファベット1文字元号」形式がよさそうです。
  5. 以下のテスト用コードを書いて実行する。
  6. 結果
    2022年は設定した通り新元03年と表示されました。

WindowsUpdateでなんとかなるのがいいんでしょうが、すぐに修正する必要がある場合はレジストリ修正することになるんでしょうね。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
%d人のブロガーが「いいね」をつけました。