PHP strtotime日期差异问题

MEA*_*EAT 2 php strtotime date-math

任何人都可以解释一下这个例子中的strtotime函数有什么问题?我正在尝试计算日期之间的差异.PHP 5.6.0(cli)(内置:2014年8月28日08:03:51)当我执行此循环时,它显示数字88两次.

date_default_timezone_set('Europe/London');
for($i=1;$i<=100;$i++){
    $daysAfterTime = floor( abs( strtotime('2014-01-01') - strtotime('2014-01-01 +'.$i.' days')  )/(60*60*24));
    echo $daysAfterTime.'<br/>';
} 
Run Code Online (Sandbox Code Playgroud)

Joh*_*nde 5

strtotime()不适用于日期数学.手册甚至这样说.

不建议使用此函数进行数学运算.

天不是60*60*24几秒钟,等等.

正如在评论中提到DateTime()很多这更适合,因为它占的东西像夏令时,闰年,等等.这是一个使用执行相同的操作的高级方式DateTime(),DateInterval()DatePeriod()这是很清晰的任何人试图找出什么继续

$start    = new DateTimeImmutable('2014-01-01', new DateTimeZone('Europe/London'));
$finish   = $start->modify('+101 days'); // extra day as the last day is not inclusive
$interval = new DateInterval('P1D');     // interval of one day 
$period   = new DatePeriod($start, $interval, $finish);
foreach ($period as $date) {
    $diff = $start->diff($date);
    echo $diff->days . "<br>";
} 
Run Code Online (Sandbox Code Playgroud)

演示