【メルマガ】コンピュータの2038年問題(2025年01月21日)

コンピュータに「2038年問題」というものがあることをご存知でしょうか?

過去にも「2000年問題」などがありましたが、2038年問題はもう一段根深い内容なのです。

まだ先の話と思いきや、根深い問題でもあるため、特にコンピュータに関わる方は知っておいた方がよいでしょう。

2038年問題とは

協定世界時(UTC)が2038年1月19日3時14分7秒を超えると、コンピュータの時間がおかしくなり、誤作動が起こるのではないか、という問題です。

2038年問題(Wikipedia) >>>

コンピュータは「UNIX時間」と言われる
1970年1月1日0時0分0秒からの経過秒数をカウントする
仕組みを使っているケースがあります。

しかし、コンピュータが保有する桁数の問題で、
2038年1月19日3時14分7秒に経過秒数がオーバーフローしてしまい、
想定しない誤作動をする可能性があります。
(プラスマイナスで考えるため、おそらく1901年12月13日20時45分52秒に戻ります)

2000年問題よりも厄介?

いわゆる2000年問題は、「年」を下二桁でアプリケーションが管理しているケースがあったのが問題でした。
単純に、97年(1997年)、98年、99年、00年(1900年?)となってしまうため、正しく4桁で年を管理すればよかったのです。

しかし、2038年問題は、アプリケーションの問題というよりは、
アプリケーションが動く土台となるOSやプログラミング言語自体の限界のケースが多いです。

対策としては、32ビットで計算している時間を64ビット化する必要がありますが、
本当に64ビットで処理できているか、などは、改修だけでなくテストも大変になるでしょう。

また、この対策はサーバのような高性能なシステムではなく、
組み込み系機器において
(リソースの関係もあり)影響が大きい可能性もあります。

そもそも、現存する機器が対応できない可能性があります。
(2038年までに故障するだろう、という考え方もありますが)

時間が巻き戻る?それが?

時間が巻き戻ると何が起こるのでしょうか。

一概に言えませんが、
時間は未来に進んで行くのが当たり前であるため、
戻るパターンは考慮していないのが普通です。

例えば、銀行口座から出金したお金が1901年になったとしたら、
残高はどうなるでしょうか?
(計算の仕方によります)

時間関係でいくと、「うるう秒」があるだけでも、システムトラブルになる実績が多数あります。

【メルマガ】うるう「秒」は、システムインパクト大(2022年09月06日) >>>

そのため、うるう秒を差し込むのは止めよう、ということに変わりました。

2038年というと、今よりもさらにコンピュータでの制御がなされていることでしょう。

大きなトラブルにならないように、
2038年問題は今から対処していく必要があるでしょう。

メルマガ『Professional's eye
"意見が持てる"デジタルコラム

週1回配信、3分で楽しめます。

送信いただいた時点で「Privacy Policy」に同意したとみなします。
広告を含むご案内のメールをお送りする場合があります。

この記事が気に入ったら
いいね または フォローしてね!