民國百年蟲

100年問題

[4] 100年問題は、 年号2桁で表す日時形式を扱うシステムに関する日時桁溢れ問題です。

[1] 日本では昭和100年問題が有名ですが、他に平成100年問題民国100年問題が知られています。

[573] 2桁年号問題の1種であるという点は西暦2000年問題と同じ性質を持ちます。 一方で、「本来4桁のものを2桁で表した」 という設計ミスに起因する西暦2000年問題とは違う性質も持っています。

100年問題共通の性質

[7] 100年問題は、10進数2桁の非負整数で扱うシステムの日時桁溢れ問題です。

[8] 日時桁溢れ問題は、日時構成要素がシステム上取り扱い可能な値域を超過することに関する諸問題です。 日時桁溢れ問題一般の性質については、日時桁溢れ問題を参照。

[9] 具体的には、が100年になると2桁で表せなくなって問題が起こります。

[10] また、 99 を「未知」「未定」「不明」など特別な意味に割り当てられていることがしばしばあり、 その場合は100年より前に発症します。

[11] 更に、将来の日時を扱う場合 (予定の登録など) は、そのに到達する前に発症します。


[2] 特殊形として、 本来3桁以上の無理に2桁で表現した場合100年問題もあります。 特に西暦2000年問題は当時社会問題となりました。 西暦2000年問題, 皇紀2700年問題

昭和100年問題

[106] 昭和100年問題は、 昭和の2桁年号日時形式を扱うシステム ( 昭和暦 ) に関する日時桁溢れ問題です。

[441] オヤジ戦隊ダジャレンジャー@オンラインサロンやって〼色々開発ちうさんはTwitterを使っています 「昨夜汎用機系の友人から電話があり、彼の担当現場では未だに #昭和100年問題 を解決できず「現場にも会社にも見切りをつけた」と言っていた。 ワシが前職を退職したのも、32bitコンパイラのShiftJISでネット対応の無理ゲーを迫る #2038年問題 を理解しない会社だったからだ。 https://t.co/ikgRr3FOti」 / Twitter, , https://twitter.com/dajya_ranger_/status/1490264002131288064

西暦2000年問題と昭和100年問題

[14] 昭和100年問題は、西暦2000年問題の頃にも注目されました。 いずれ同じように問題になり対策が必要だと注意喚起されました。

[15] 西暦2000年問題の対策として昭和の2桁の表現に切り替えたシステムもあったといわれています。 (性質上、それがどれくらい行われたのか知ることは難しいですが...)

[16] 問題の先送りに過ぎないとの批判もありましたが、先送りで問題が当面解決するならそれでよいという考え方もあります。 この種の問題で一体何が「本質的な解決」といえるのかは難しく、 西暦4桁で表したところで西暦10000年問題に先送りしたに過ぎないのです。 日時桁溢れ問題 結局これは無限の世界を現実のシステムに落とし込むバランス感覚が問われているもので、 経済性と設計センスの工学論に帰結します。

[20] 損害保険システムの昭和100年対応案件 | COBOL 大阪府 単価 月額 ~40万円 | エンジニアファクトリー(フリーランス), https://www.engineer-factory.com/freelance/jobs/100012411

和暦3桁(元号+年2桁)で保持している日付項目に対して、年2桁項目を10進から16進に変換を行う対応

昭和100年問題をめぐる誤解

[420]日時内部表現平成改元以後も昭和の年数を使うこと」 ( 昭和暦 ) と 「昭和の年数を2桁整数で扱うシステムで昭和100年を迎えること」 は、 まったく別個の問題です。 後者は西暦2000年問題と同種の問題ですが、 前者はシステム設計上の合理的な選択肢の1つでこれといった問題は知られていません。

[421] 昭和100年問題を扱う記事やSNSへの投稿を見ると情報処理実務の専門家でもこの2つの区別がついていない人が意外に多い >>419

[423] 前者、つまり日時の内部表現は、例えば

... といったシステムがごくごく一般的に存在するのと同じように、

  • システム内部でを昭和元年を1とする整数で表し、必要に応じて西暦年を計算して表示する
  • システム内部でを昭和元年を1とする整数で表し、必要に応じて昭和平成令和などのを計算して表示する

... といったシステムも存在し得ますし、実際に存在しています。 Unix time も昭和元年を1とする整数も、単位と基準点が違うだけで、 処理内容は本質的に変わりありません。どちらの設計を採用するかは、 目的に応じてどちらが都合が良いか、いわば設計センス次第です。

[424] 昭和元年を1とすることだけを理由にその設計を批判するのだとしたら、 その批判のほうがむしろセンスがないと言わざるを得ません。

[17] まあ社会的には昭和が終わって平成になっているのに、 システム内部で昭和の年数が使われ続けているとすると、 なんだかおかしいという感覚自体は理解できないでもありません。 そのような違和感を抱く人が多いのは、 それだけ元号というシステムが日本社会に深く根付いている1つの傍証ともいえます。 そうでなければが1年となる西暦1900年暦や、 0 がある Unix time と同等でしかない「が1年となる紀年法」 で動くシステムがおかしいと考える人はいなかったことでしょう。

[109] 「「2025年問題」に備えていますか?」 | 株式会社オージス総研 () http://www.ogis-ri.co.jp/rad/webmaga/rwm20130802.html

「2025年問題」をご存じですか? 実は「2025年問題」と言われているものには、いくつかありまして、2025年は昭和元年からの換算ではちょうど100年となり一部のコンピュータシステムで問題が発生する件を指すこともあれば、団塊の世代が75歳以上に達し、厚生労働省の社会保障給付総額が144兆円になってしまう問題を指すこともあります。

[413] パソコン・ソフト:詳細資料A - リコーの西暦2000年問題対応について, , http://radioc.web.fc2.com/weblib/y2k/ricoh/a.htm

Q6.データのフォーマットを変更できないので、既に入力されている日付データを簡単に西暦(下2桁)運用から和暦運用への変更する方法は有りますか。

A6.C命令を利用し、西暦を和暦に変更できます。 日付列—88=日付列 例.98(西暦)—88=10(和暦) その他、SHU命令やUPD命令を利用して、西暦を和暦に変更できます。


[422] ついでに、この話題になると和暦を廃止して西暦にしろとか技術と関係ない政治的主張を始める人も必ず何人か湧いてきます >>419

[12] システム内部の日時表現の選択と、 社会的な紀年法の約束は、判断基準が異なる独立した話で、 混同してはいけません。 社会的に和暦が消滅しても、 昭和100年問題が解決するわけでも、 西暦が最も処理しやすい内部表現になるわけでもないのですが。。。

[13] それが分からないなら技術的に知識不足ですし、 分かっているなら政治のダシに技術を使っているので、 どちらにしてもダメですね。

作品

[446] 内容はめちゃくちゃ (まあムーなんで...)

[572] ITコメディアニメ「こうしす!」アンコール企画&総集編映画で新たなステージへ! - CAMPFIRE (キャンプファイヤー), https://camp-fire.jp/projects/view/741097?utm_source=twitter&utm_medium=social&utm_campaign=tw_po_share_c_msg_projects_show

昭和100年には、昭和の年号で動き続けているシステムが桁あふれにより誤動作を起こす可能性が指摘されています。これは「昭和100年問題」と呼ばれています。こうしす!アニメ版でも第1話から伏線として示されており、その伏線を回収するための小説を執筆します。

総集編映画の各メディアへの持ち込みは2024年内に行い、2024年内の展開を目指します。

また、2025年(昭和100年)1月~春ごろからの配信を目指します。

関連

[18] 昭和を使い続けること全般については昭和の延長年号, 昭和暦を参照。

[19] 昭和100年記念については昭和100年を参照。

平成100年問題

[119] Wikipedia などは平成100年問題を指摘しています >>117。実在するかは不明です。

[548] Xユーザーのichiro_jさん: 「平成2桁はあるけど昭和2桁はもう身近にはないな」 / X, , https://twitter.com/ichiro_j/status/1741664068103229467

[549] あるのかー・・・

民国100年問題

[112] 民国100年問題は、 民国紀元の2桁年号日時形式を扱うシステムに関する日時桁溢れ問題でした。

[115] 特許番号は固定長に見えてそうではなく、 3桁に拡張されたようです。

[447] 公元2000年資訊錯亂危機, https://www.tfrin.gov.tw/News_Content.aspx?n=307&s=29011

[448] 西暦2000年問題当時の紹介記事。西暦4桁化により民国100年問題も同時解決できると述べている。

[473] Taiwan’s Y1C problem | Pinyin News, http://pinyin.info/news/2006/taiwans-y1c-problem/

[474] 民國百年蟲 - 维基百科,自由的百科全书, , https://zh.wikipedia.org/wiki/%E6%B0%91%E5%9C%8B%E7%99%BE%E5%B9%B4%E8%9F%B2

[475] 民国100年問題 - Wikipedia, , https://ja.wikipedia.org/wiki/%E6%B0%91%E5%9B%BD100%E5%B9%B4%E5%95%8F%E9%A1%8C

[476] Year 2011 problem - Wikipedia, , https://en.wikipedia.org/wiki/Year_2011_problem

関連

[3] 一部の欧米人は令和改元 (に伴うシステム改修) を「日本版Y2K」のように表現しました。 令和改元 しかし「日本版Y2K」のようなものがもしあるとするなら、 昭和100年問題皇紀2700年問題の方がその名により相応しいといえます。

[5] 民国100年は主体100年でもありましたが、朝鮮民主主義人民共和国ではそのような問題は知られていません。 問題が起こらなかったのか、伝わらなかったかは不明です。 主体が公用され初めたのはです。 およそそれ以後に開発されたシステムでは主体の2桁年を使っていても不思議ではありません。

[6] 他の諸国では西暦2000年問題が話題になり初めていた時期ですし、 20年も待たずに主体100年を迎えるときにそんな設計には普通はしないだろうとは思うのですが、 欧米や日本の事例 ( 日時桁溢れ問題 ) を参照すると 「あり得ない設計」は普通にあり得るものですので...

メモ