[PHP-users 33727] Re: プログラムが劣化することはあるのでしょうか

papa pahoo papa @ pahoo.org
2008年 7月 1日 (火) 12:55:41 JST


パパぱふぅです。

問題は解決したようですね。老婆心ながら――。

>$day = 365*$y + $y/4 - $y/100 + $y/400 + 306*($m+1)/10 + $d - 428;

この式ですが、閏年の月末・月初の曜日に不安を感じます。
というのは、このままだと、曜日を導出する公式として有名な「ツェラーの公式」
(Wikipedia参照のこと)と、式が一致しなくなる日付があるためです。
int でキャスティングするか、除算部分の小数点以下を切り捨てる必要があるの
ではないかと思います。

すでにアドバイスが出ていますが、date 関数を使うのが無難だと思います。

==========================
  パパぱふぅ
  http://www.pahoo.org/
==========================



PHP-users メーリングリストの案内