私はまだ PHP を学んでおり、PHP プログラミングを改善しようとしています。そこで、2 つの日付間の期間を表示する簡単なコードをテストしています。これが間違った期間になるまで、さまざまな開始日と終了日でテストします。
コード:
<?php
$d1 = new DateTime('2017-02-20'); // 20 Feb 2017
$d2 = new DateTime('2017-05-12'); // 12 May 2017
$diff = $d2->diff($d1); //excluding end date
echo $diff->y ." years ";
echo $diff->m ." months ";
echo $diff->d ." days";
?>
正しい期間は 0 年 2 か月 22 日であると想定されていました。しかし、0 年 2 か月20 日という間違った期間が表示されていました。
誰かが私にその理由を説明できますか?どうしてこうなったのか知りたいです。
ここでコードを修正します。
$d1 = new DateTime('2017-02-20'); // 20 Feb 2017
$d2 = new DateTime('2017-05-12'); // 12 May 2017
$diff = $d1->diff($d2); //excluding end date
echo $diff->y ." years ";
echo $diff->m ." months ";
echo $diff->d ." days";
常に大きい日付から小さい日付に差し引きます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加