2 月 14 日に UNIX time(1970年1月1日からの秒数)が 1234567890 秒になるということを耳にしましたので、C で time_t を使って現在時刻と 1234567890秒 が正確にはいつになるのかプログラムを書いてみました。

結果は

Wed, 11 Feb 2009 00:09:35 +0900
Sat, 14 Feb 2009 08:31:30 +0900
Tue, 19 Jan 2038 12:14:07 +0900

ということで 2 月 14 日の午前 8 時 31 分 30 秒がその時刻のようです。3 つめのは time_t がオーバーフローする直前の時刻です。time_t のサイズは処理系依存のため実行環境によって結果は変わる可能性がありますが、私が実行した環境では time_t の型定義は以下のように int 型でした。int は 4 バイトの環境ですのでばっちり 2038 年問題に出くわす処理系だということがわかります。

/usr/include/time.h:typedef     __time_t        time_t;
/usr/include/machine/_types.h:typedef   __int32_t       __time_t;
/usr/include/machine/_types.h:typedef int         __int32_t;

一方で 64 bit の long 型で time_t が定義されているような環境では 2038 年問題は起こらずに 292277026596 年問題になるそうです。なんだそりゃって感じです。気をつけなくてはいけないのは、time_t が 64 bit であっても、それを利用しているライブラリとかシステムが 32bit の変数で time_t の値を受けていたら結局 2038 年問題は起こるんですよね。

トラックバック(2)

このブログ記事を参照しているブログ一覧: 1234567890秒に便乗して

このブログ記事に対するトラックバックURL: http://tsuyuguchi.com/mt/mt-tb.cgi/415

最近の画像

Zero History - ギブスンの新作が 9 月に発売 -
虐殺器官
ドミニオンのランダマイザアプリ、dominion minion が日本語対応!
ハイペリオンの没落 ~ 完結...でもまだ続く~
ハイペリオンの没落 ~ 完結...でもまだ続く~
ハイペリオン - 長大な叙事詩 SF のスタート -
ハイペリオン - 長大な叙事詩 SF のスタート -
「都市と星」 - 10億年と言われてもよく分からない -
「星を継ぐもの」 - 良い Sci-Fi -
トールサイズのニューロマンサーを買った
虎よ、虎よ! - 主人公フォイルの執念の物語 -

私の本棚

 

自転車走行距離

自転車走行距離

Flickr Photos

FlickrPhotos

なかのひと

Y!ログール

このサイトについて

2015年2月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28

アーカイブ

My Update

  • Loading...

その他

あわせて読みたいブログパーツ