2036年問題 【year 2036 problem】

概要

2036年問題(year 2036 problem)とは、インターネットなどのIPネットワーク上での時刻合わせに用いられるNTP(Network Time Protocol)の仕様により、西暦2036年の特定の日時以降の日付と時刻を正しく扱えなくなる問題。また、それが原因で引き起こされることが懸念されている、コンピュータの一斉誤作動や社会的な混乱などの問題。

NTPでは特定の日時を協定世界時UTC1900年1月1日午前0時からの経過秒数で表現するが、この32ビット符号なし整数型データとして表される。このの上限である42億9496万7295秒が経過するのはUTCで2036年2月6日6時28分15秒、日本時間JST)では同日15時28分15秒であり、これを過ぎると正しく日時を表記できなくなる。

対策として、SNTPバージョン4(RFC 4330)では最上位ビットが0の場合は2036年2月6日6時28分16秒からの経過秒数を表すよう扱いを改める手法が提案されている。この変更により、1968年以前の日時は扱えなくなるという副作用がある。

NTPコンピュータ間で現在の日付や時刻を同期させるためのプロトコルであり、遠い過去や未来の日時を記録したり伝達することには用いられないため、この方式でも致命的な問題は生じないと考えられている。なお、この手法では西暦2104年に再び同様の問題を生じるが、その時にはまた過去の日時を無効にして起点を未来側に移動すればよいと考えられている。

名称 問題の日付・時刻 要因 主な対象
2000年問題 2000年1月1日~ 西暦の下2桁で表した年データが十進数2桁の上限を超える メインフレーム / COBOLプログラム等
昭和100年問題 2025年1月1日~ 昭和に換算した年データが十進数2桁の上限を超える メインフレーム / COBOLプログラム等
2036年問題 2036年2月6日6:28:15(UTC)~ 1900年1月1日午前0時からの経過秒数が32ビット符号なし整数の上限を超える NTPで時刻合わせしているシステム等
2038年問題 2038年1月19日3:14:08(UTC)~ 1970年1月1日午前0時からの経過秒数が32ビット符号付き整数の上限を超える UNIX系システム等
▲ 主なコンピュータの時刻処理にまつわる問題
(2019.1.3更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる