PHP 5.3, , unix, . , , . , setTime(0,0)
, .
DateTime.
$start = new DateTime('2011-03-07 12:23:45');
$end = new DateTime('2011-03-08 1:23:45');
$start->setTime(0,0);
$end->setTime(0,0);
$midnights = $start->diff($end)->days;
setTime()
0, 24 . setTime()
1, 24 .
diff()
5.3 DateInterval. 5.2 DateTime, , Unix.
$midnights = ($end->format('U') - $start->format('U')) / 86400
abs()
/, .
. , , , DST.
php date documentation 86400 ( ), , DST.
DateTimes UTC.
$utcTimezone = new DateTimeZone('UTC');
$start = new DateTime('2011-03-07 12:23:45', $utcTimezone);
$end = new DateTime('2011-03-08 1:23:45', $utcTimezone);