はPHP 5.6.14でこれを行う:これはPHPバグですか?
$a = strtotime('2016-10-01');
$b = $a+29*24*3600;
$c = $a+30*24*3600;
die(date("d/m/Y",$b).' - '.date("d/m/Y",$c));
は、私は$c
が31/10/2016
の代わり30/10/2016
ことを期待ので、どのように奇妙な30/10/2016 - 30/10/2016
を返します。それはPHPのバグですか?
注:私は日付操作を行ういくつかの方法があることを知っていますが、私はこれを具体的に求めています。 $a
月を10以外の数字(たとえば8,9,11,12)に変更すると、期待した結果が得られました。
あなたの仮定 'var_dump($ a、$ b、$ c)'を常にチェックしてください。あなたはbとcが特定の値を取っていると仮定しますが、間違っていると仮定します。 – goat
これは、DateTimeがPHPで日付を追加する優れた方法である理由です。 – Machavity
私はこれが夏時間に関係していると考えています。時間も出力すると、30/10/2016 00:00 - 30/10/2016 23:00'で、10月30日(少なくとも私の国では)1時間(DSTのため)を減算します。 – Qirel