Tsukasa Sakaguchi
t-sak****@brain*****
2003年 1月 16日 (木) 15:20:36 JST
さかぐち@brainheartsです。こんにちは。 > RedHat 7.3 と 8.0 に入っている Linux のライブラリ glibc-2.2.5-34 の > 仕様が変更? されて、mktime に1970年よりも前の日付を渡すと、 > (それ以前のバージョンのように連続した負の値で返してくれなくて) > -1 を返すようになったのが原因らしいです。 これが原因だったのですね。 ところで、この情報元ってどこでしょうか? http://php.dls.net/manual/ja/printwn/function.mktime.php には↓のように 書かれていたのですが、公式見解を知りたいのです。 ご存知でしたら、教えたください。 ---- Red Hat 7.3's glibc contains a strange change in behaviour regarding the mktime() function. It affects PHP's mktime() function, so that on Red Hat 7.3 systems, mktime() will always return -1 for dates before Jan 1st 1970 (more or less - time zones may distort this rule of thumb slightly). ---- テストしていないのですが、 > return ereg_replace('2037' . '$', $year, > date(DATE_FORMAT, mktime($hour, $minute, $second, $month, $day, 2037))); 仮に、1920/02/29 を指定したらどうなりますか? おそらく、まず 2037/03/01 に変換され、その後 1920/03/01 に置換されるように 思えるのですが。 -- BrainHearts Corp. Tsukasa Sakaguchi / t-sak****@brain***** Tel. 045-290-7561