<?php
$one = new DateTime('2012-01-24 13:00');
$two = new DateTime('2012-01-24 06:00');
$three = new DateTime('2012-01-24 08:42');
$four = new DateTime('2012-01-24 12:00');
$five = new DateTime('2012-01-24 06:33');
$array = array($one, $two, $three, $four, $five);
foreach($array as $a){
$a->modify("-7 hours");
echo $a->format('Y-m-d H:i') . "\n";
}
эфир:http://codepad.org/JgoX3y7OМинус часов и часы диапазона минус в DateTime с PHP
Я хотел бы показать даты без часов между 23: 00-05: 00. Если дата находится в этом диапазоне, то она должна делать минус без этих часов. Мой пример показать:
2012-01-24 06:00
2012-01-23 23:00
2012-01-24 01:42
2012-01-24 05:00
2012-01-23 23:33
, но должно быть:
2012-01-24 06:00
2012-01-23 17:00
2012-01-24 19:42
2012-01-24 05:00
2012-01-23 17:33
$ один и $ четыре в порядке, потому что 12: 00-7: 00 и 13: 00-7: 00 не находятся в диапазоне 23: 00-05: 00
Как я могу это сделать?
Я не» Не понимаю ваш вопрос. Что именно должно произойти с датами, когда время между 23:00 и 5:00? –
, если время между 23: 00-05: 00, а затем минус без этого диапазона. –
Я также не понимаю, чего вы пытаетесь достичь. Код делает именно то, что вы ожидаете, он вычитает 7 часов из всех заданных объектов DateTime. – Oldskool