2038年問題

 
日時取得関数でチェック 

昨日初めて知ったのですが、システム関連の日付には 2038年問題というのがあるらしい。

ドキっとして軽く調べたところ

2038年問題とは、UNIXやLinuxなどのオペレーティングシステムやプログラミング言語において、日付表現のために使われている32ビット符号あり整数が、2038年1月19日にオーバーフローを起こしてしまう可能性がある問題のことです。

と、Unix系 OSでの問題ということで一安心。
Unixの日付は 1970/01/01 00:00:00 からの経過秒なので、32ビット正の符号が表現できる数値の 2,147,483.647秒を超えると最上位ビットのフラグが立ち、負の数値になってしまう問題。

ちょっと心配になって私のメイン開発ツールである Delphiをチェックすると日付時刻は倍精度少数で管理されており、整数部分が 1900/01/01からの経過日で、小数部が時間になっていました。
Windowsは 30,828年まで表現でき、Delphiはほぼ無限の日時が表現できる(Double型の最大値まで)ので、2038年問題とは無縁だと言うことがわかり一安心です。