私の作ってる Windows アプリケーションの改元対応の記録です。
- 2018年5月(改元1年前) Windows はレジストリの更新で改元に対応するとのことなので、元号選択肢の取得はレジストリから、日付の和暦への変換はそれまでは独自実装だったが Windows API の GetDateFormat で行うように変更した。
- 2018年8月 改元対応にともなうバグが発覚して修正した。
- 2019年4月10日 平成最後の月例 Windows Update に、レジストリの変更は含まれていなかった。
- 2019年4月12日 Windows Update を待っていると令和対応版の出荷ができないので、元号選択肢の取得はレジストリのデータに、無ければ「令和」も加え、日付の和暦への変換は独自実装に切り替える。ついでに「元年」にも対応する。
- 2019年4月16日 令和対応版リリース
- 2019年4月25日(改元6日前) レジストリ変更の Windows Update はまだ来ない。←いまココ
結局のところ Windows API 関数ってのはその時点の Windows にアクセスするものであって、ライブラリ関数ではないということなのでしょう。日付の和暦への変換などは Windows に頼らずに、アプリケーション独自で実装するか、別のライブラリを利用すべきということがわかりました。
追記
- 2019年4月26日(改元5日前; 米国25日) Windows 10 version 1803 までの Update が発行された。Windows 8.1 以前は preview なので、普通に適用されるのは 5月15日になる模様。Windows 10 version 1809 用は "Coming soon!" (日本語サイトでは「近日公開予定」)となっている。