以下PHP代码正确计算1月1日 1900 与1月1日 1901 之间的天数为365天。
$dateA = new \DateTime('1900-01-01');
$dateB = new \DateTime('1901-01-01');
echo $dateA->diff($dateB)->days;
//result 365 days
但是,使用相同的代码计算1月1日 1900 和1月1日 1902 之间的天数会导致少于365 * 2天。计算1月1日 1901 和1月1日 1902 之间的天数也会导致364天。这是为什么?
$dateA = new \DateTime('1900-01-01');
$dateB = new \DateTime('1902-01-01');
echo $dateA->diff($dateB)->days;
//result 729 days - WHAT THE....?
PHP v.5.6.12