PHPのdate_diff機能は、誤った結果を返します

詩人TR:

私が使用して2つの日付の間の月数を見つけようとしたdate_diff()PHPで。我々はすべて2019年3月1日と2020年1月31日の間の月数を知っているように11ヶ月ですが、以下のコード・リターン10ヶ月。

$date1=date_create("2019-03-01");
$date2=date_create("2020-01-31");
$diff=date_diff($date1,$date2);
echo $diff->format("%m months");

出力

10 months

なぜ、このコードは以下1ヶ月を返しますか?

jspit:

あなたが真夜中に最後の一日の終わりには初日の最初から数ヶ月の違いが必要な場合は、深夜に終了日を設定する(24時間!)、または一日追加することができます。

<?php
$dateStart = date_create("2019-03-01");
$dateEnd = date_create("2020-01-31");

//set Time to midnight or add a day
$dateEnd->setTime(24,0,0);

$diff = date_diff($dateStart,$dateEnd);
echo $diff->format("%m months");
//11 months

自己を試してみてください。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=10608&siteId=1