私は奇妙な結果を与える次のPHP datetime オブジェクトを持っています:
<?php
$date = new DateTime("2013-01-01");
$date2 = new DateTime("2011-01-01");
$interval = $date2->diff($date);
echo $interval->m;
?>
- 月 (m) を使用すると、0 が返されます。不正解です。
- 間隔を年 (y) に切り替えると、正しい 2 が返されます。
- 日 (d) に切り替えると、正しくない 0 が返されます。
- 「日」を使用して日に切り替えると、正しい731が返されます
特定の間隔が機能し、他の間隔が機能しない理由がわかりません。何かアイデアはありますか、それとも期待されていますか? 可能であれば、引き続き DateTime を使用してこの違いを見つけたいと思いますが、他の必要な手段も利用できます。