TAMURA Toshihiko
tamur****@bitsc*****
2003年 1月 16日 (木) 16:16:23 JST
さかぐちさん、こんにちは。 田村です。 > > RedHat 7.3 と 8.0 に入っている Linux のライブラリ glibc-2.2.5-34 の > > 仕様が変更? されて、mktime に1970年よりも前の日付を渡すと、 > > (それ以前のバージョンのように連続した負の値で返してくれなくて) > > -1 を返すようになったのが原因らしいです。 > > これが原因だったのですね。 > ところで、この情報元ってどこでしょうか? > http://php.dls.net/manual/ja/printwn/function.mktime.php には↓のように > 書かれていたのですが、公式見解を知りたいのです。 RedHat 内部のことなので、公式見解というのはないんじゃないでしょうか。 Debian の ML に下のような記事はあります。 "Glibc 2.2.5 mktime() - differences between distributions" http://lists.debian.org/debian-glibc/2002/debian-glibc-200205/msg00010.html この変更が、上の投稿にあるような ISO C の標準に合わせるためのものなのか、 私も知りたいです。 > テストしていないのですが、 > > > return ereg_replace('2037' . '$', $year, > > date(DATE_FORMAT, mktime($hour, $minute, $second, $month, $day, 2037))); > > 仮に、1920/02/29 を指定したらどうなりますか? > おそらく、まず 2037/03/01 に変換され、その後 1920/03/01 に置換されるように > 思えるのですが。 私もそんな気がします。 -- 田村敏彦 / 株式会社ビットスコープ E-mail:tamur****@bitsc***** http://www.bitscope.co.jp/