日時桁溢れ問題

日時桁溢れ問題

[1] 計算機システムなどの日時の処理では、 日時の構成要素が扱える (当初設計時に想定した) 値域を超えることがあり、問題となります。

[18] 設計時の想定では遠い将来の日時だったとしても、 思いの外そのシステムが長生きするのはよくあることです。

[19] 逆パターンはそれほど多くありませんが、 想定よりも応用が広がり、過去の日時の記述の必要が生じるという可能性もなくはありません。


[38] 情報交換用日時形式にせよ、情報処理用内部形式にせよ、 実用上は日時の記述に使うデータサイズに制限を設けざるを得ません。 制限を取り払ってどれだけでも過去の日時将来の日時を表現可能にすると、 RFC 2550の日時形式のような扱いづらい形式になってしまいます。

[39] CPUプログラミング言語整数型が64ビットの場合、 それより大きな整数を扱うには特別な処理が必要となります。 日時を大きな整数で扱うと、 近い日時の計算も含めてすべての日時計算が煩雑で低速になってしまいます。

[22] 2000年問題への対処も、よくて9999年まで問題を先送りできたに過ぎませんでした。 実際には数十年程度の先送りで延命させたシステムも少なくありませんでした。 桁溢れ問題への本質的な対処は困難です。

年の桁溢れ

[5] 発症パターンとして、

... というのがあります。

[8] 西暦年その他各紀年法の項を参照。

[10] 年号桁溢れの問題

[12] 日本語では検索しても情報が出てこないけど、 タイ暦2600年問題もありそう?

[16] 日本元号を使った日時形式を採用した計算機システムは、 を2桁で保持していることが多いようです。これまでの日本の元号はすべて 2桁以内で改元を迎えていますが、 将来の日時を扱う場合に問題になる可能性があります。 (予期できない将来に100年以上改元されない可能性や、 最新の元号によって将来の日時を扱う場合に、問題となります。)

複数紀元詰め込み

[23] 古いシステムで、特定値以下なら平成、 以上なら昭和のように異なる元号を数値のみで区別する事例があったようです >>4, >>5

[4] () https://www.taisyokukin.go.jp/supply/PDF/shingigaiyou_h29_1.pdf

①例えば今後元号が変わるようなことがあ った場合にも対応しているのか?

②随意契約とした理由に短時間に遂行する ためとあるが、元号の変更については事前 から予想のできることであるが、短時間に やらなければならない理由とは何か。

①この日付対応の改修に元号変更対応につ いても含めてある。

②本件については併せて元号の変更への対 応も行ったが、本来的には元号とは関係無 く、業務システムにおいて元号無しの日付 について、29年までを平成、30年以降 について昭和と判断しているものを改修す る必要があったものである。本改修は影響 するシステム資産全てを凍結した上で行う 必要があるため、これまで行っていた法改 正に伴う改修と並行して改修することはで きず、法改正関連の改修を優先し本改修に 着手したものである。

[5] () http://www.mhlw.go.jp/sinsei/chotatu/chotatu/shiyousho-an/dl/130227-05.pdf

労災システムにおいては、傷病年月日等の入力項 目の一部に元号のない和暦日付があり、年が「27」以 下であれば元号を「平成」と、また、それ以外は「昭和」 と判定する仕様となっており、平成28年度以降の傷 病年月日等を入力した場合は元号を「昭和」と判定さ れる。また、「昭和」、「平成」以外の元号には対応でき ない。

このため、すべての入力帳票について、傷病年月日 等に元号を付加し、和暦から西暦への変換処理を正 しく行えるよう改修を行う。

なお、平成元年以降に開発した介護、アフターケア については、日付項目に元号が付加されており、改修 は発生しない。

元号コードの桁溢れ

[2] 元号コード

整数時刻系の桁溢れ

[3] 整数時刻系および時間変数の桁溢れ

循環型日時系

[14] 干支GPS時など同じ名前の日時が一定期間経過後に繰り返される日時形式では、 当然ながら一周する期間を超えた範囲を扱うと日時を一意に識別できなくなります。

[17] 昭和は64年まであったため、 元号干支だけではを一意に特定できません。

[15] 2000年問題や100年問題もこの一種とも言えます。

整列

[4] 狭義の桁溢れ以外に、同じ数と仮定して文字列として整列させていたとき、 前提が崩れて順序がおかしくなるという問題が生じる場合もあります。

関連

[21] 旧暦2033年問題は性質が異なります。

メモ