電子書籍の厳選無料作品が豊富!

うるう年の2月のときは処理をさせると考えて、

if(((($year%4==0) && ($year%100!=0)) || ($year%400==0))&&($man==2)){

}
では中の処理をしてくれませんでした。
ご指摘をお願いします

A 回答 (4件)

ロジックとしては、


「4で割り切れるが100では割り切れない、か、400で割り切れる」且つ
「2月である」という記述になっているので、問題ないはずです。
私のところでは、正常に動作しました。

ということは、$year か $man に正しい値が入っていないのではないでしょうか?
例えば、localtime 関数で取得した $year をそのまま使っているとかはないですよね?
一度ご確認されることをおすすめします。
    • good
    • 0

$year=400;


$man=2;
print $year%4;
print $year%100;
print $year%400;
if(((($year%4==0) && ($year%100!=0)) || ($year%400==0))&&($man==2)){
print "ok";
}
で000OKが表示されることを確認しました。(000は余)
デバッグモードで実行してみてはいかがですか?
    • good
    • 0

#1で、変なこと書いてごめんなさい。


カッコを見落としていました。
    • good
    • 0

「年が4で割り切れて100では割り切れない」か、


「年が400で割り切れて月が2月」だったら
になっていますが、一つ目の条件には「月」は要らないの?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!