Обычно в обычный день 1440 минут (60 минут / час * 24 часа). Однако из-за перехода на летнее время может потребоваться 1380 минут (60 минут / час * 23 часа) или 1500 минут (60 минут / час * 25 часов).
Как можно найти точное количество минут на определенную дату, когда предоставляется объект DateTime php?
Например, 13 марта 2016 года летнее время начинается в США (и, следовательно, это 23-часовой рабочий день), а 6 ноября 2016 года летнее время заканчивается в США (и, следовательно, это 25-часовой рабочий день). 1 мая 2016 года — обычный 24-часовой рабочий день. Я хотел бы иметь функцию, которая будет возвращать следующее:
$lomg= new DateTime('November 6, 2016T07:23:11');
$short= new DateTime('March 13, 2016T19:17:53');
$regular = new DateTime('May 1, 2016T22:45:00');
getMinutes($short); // Returns 1380
getMinutes($long); // Returns 1500
getMinutes($regular); // Returns 1440
Следующее должно (в принципе) работать:
<?php$dt = new DateTime();
$dt->setTimestamp(1457827200);
$dt->modify("today"); //Set to 00:00:00
$dt2 = clone $dt; // Copy to new instance
$dt2->modify("+1 day");
var_dump(($dt2->getTimestamp() - $dt->getTimestamp())/60);
(Полный отказ от ответственности, не проверял это)
Других решений пока нет …