プログラミング教室<その1> 2100年問題に対応しよう!

2025年06月04日


1.2000年問題で対応した2桁の年を4桁にする変換は2100年問題では使用できません。

例えば、「250101」は「2025-01-01」に、「990101」は「1999-01-01」にする変換になり、「2099-01-01」にする為には日付のフォーマットは「YYMMDD」ではなく「YYYYMMDD」のデータ形式で保存できるようにしなければなりません。


2.日付処理のプログラムでは100年以上過去のデータに対応する必要がある。


3.日付データのエラーチェックはプログラム言語の日付処理のライブラリを使用する。


4.標準フォーマットの使用:ISO 8601形式(YYYY-MM-DD)を使用することで、国際的に認識される標準フォーマットを確保する。


5.2100年問題に対応済のシステムというドキュメントを残す。


フローチャート図でNNNN問題対応アルゴリズムを考えて


NNNN問題対応クラス コンストラクタ引数

引数1 NNNN 何年問題対応か?

引数2(※1) String 日付 YYYY-MM-DD形式チェック用 ー> NullPointerExceptionの例外のみ対応(日付チェックは日付処理ライブラリに依存)


機能1 2月29日が入力された場合の例外処理 戻り値 なし 例外処理 存在しない2月29日のエラー例外処理

機能2 うるう年チェックメソッド 引数 日付 戻り値 TRUE:うるう年、FALSE:うるう年以外 例外処理なし

機能3 日数計算メソッド 引数(※2) 過去日付、未来日付 戻り値 引数2(※1)と引数(※2)の日付との間の日数 例外処理なし


© 2023 後藤広一. All rights reserved. | Privacy Policy | Terms of Service