この記事について
主に令和になってからプログラミングの勉強を始めた方を対象に書いています。
ということで、令和入社の新人さんが嵌ってたことを、
ケーススタディとして若干簡略化して書きます。
……はい。令和を強調するのには意味がありまして。
……昭和民族のあおりではないので、どうぞ石を投げないでやってください。
あ、学習目的などで西暦を和暦に変換する処理を自前で作成したい方。
ここには今役立つ方法はありません。
各言語のリファレンスなど読んでがんばりましょう!
事象
「令和」が表示されない
客先の端末でシステムを起動したところ、西暦から和暦への変換が正しく行われない。
例:2023/04/20 = 平成35年4月20日
なお、以下のような値は問題なし
2019/04/30 = 平成31年4月30日
1950/12/31 = 昭和25年12月31日
環境
Windows10
office 2016 (Access,Excelを使用)
開発環境での再現検証結果
再現しない
(「再現しない」とは
「報告された事象と同じことが起こらなかった」という意味です)
原因
該当端末に、新元号対応のWindowsUpdateが適用されていなかった。
情報ソース
Microsoft製品の令和対応についてはこちらの記事を参照
補足
検証端末はセットアップしたばかりでほぼ工場出荷時の状態だった。
業務端末同様、最新のWindowsUpdateを適用してから再検証したところ、改善を確認した。
まとめ
ということで、今回の記事は
改元前後の令和対応を経験していない方に向けて書きました。
もう少し汎用的なことも書きます。
業務において、西暦を和暦に変換する処理などの
便利でみんなが使う処理を、普通のプログラマーが自前で書くことはあまりありません。
Windowsやofficeに限らず
「令和が出てこない!」のようなケースは環境の問題である場合が多いです。
(必要なライブラリや共通クラスが最新化されていなかったりとか。)
このケースを通して、
「不具合調査の際は、コーディング以外の部分も原因可能性に含めて考える」
ということを知って頂けたらと思います。
参考文献
元号対応に関するまとめ
https://qiita.com/tfukumori/items/1dc60eb473eff5efb994
元号対応そのものについて興味が湧いたあなた。ようこそ。
上記の例以外での元号対応方法をお楽しみください。
以上です。