Обычно в обычный день 1440 минут (60 мин/час * 24 часа). Тем не менее, из-за летнего времени может быть 1380 минут (60 мин/час * 23 часа) или 1500 минут (60 мин/час * 25 часов).Получение точного количества минут данной даты
Как найти точное количество минут в заданную дату, когда предоставляется объект DateTime php?
Например, 13 марта 2016 года DST начинается в США (и, таким образом, составляет 23 часа), а 6 ноября 2016 года DST заканчивается в США (и, следовательно, составляет 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
Ну остановить используя временные метки unix, если вы можете их избежать, потому что все они основаны на UTC; и начать использовать объекты DateTime, которые на самом деле осведомлены о часовом поясе –
Возможно ли использовать DST, используя ** ** (bool) $ dateTimeObject-> format ('I') '**. –
Временная метка unix не содержит данных о часовом поясе. Это UTC и не имеет настроек DST. Вы должны преобразовать время (например, с помощью классов DateTime() и DateTimeZone() в php) внутренне в правильный часовой пояс, и он автоматически настроится на DST и смещение временной зоны на основе даты. –