1970年1月1日

この日何の日か知ってる?unixをかじったことのある人なら絶対知っているハズの日ね。Cのtime()関数は、この日の0時0分を起点として、何月何日の名時何分か?をミリ秒単位で表現している。
それで問題になるのが何年まで表現できるのか?という有名なもの。32ビットで表現すると2037年にオーバーフローしちゃう。ググればいくらでも出てくる有名な問題。
もう1つ。1970年より前を表現したいときはどうする?っていう問題もある。JavaのgetTime()とかだと1970年1月1日を起点として…という同じ記述が書いてあるんだけど、C#のGetTime()だと、値が負の場合は、1970年以前を表すという表現を見つけた。それで、Javaでも同じなのかなあ?と思って実験したら、同じみたいね。因みにデータは64ビットの符号付きなので、相当過去から相当未来まで表現できる。2037年問題も起こらないね。なるほど。知らないうちに世の中地味に進んでいる。