Получение точного количества минут от указанной даты

Обычно в обычный день 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

0

Решение

Следующее должно (в принципе) работать:

<?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);

(Полный отказ от ответственности, не проверял это)

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector