2014-02-09 3 views
0

я это:Добавить в один прекрасный день часов

$time = new DateTime('today 6 PM'); 
$now = new DateTime('now'); 
// check if current time is past 6 PM 
if ($now > $time) { 
    $time = new DateTime('Next Saturday 6 PM'); 
} 

$diff = $time->diff($now);  
echo $diff->format("%h hours %i minutes remaining"); 

и хотят, чтобы добавить в часы дней до следующей субботы, и что каждую субботу, так что если мы достигаем один он должен Automaticlly начать itfrom начала

+0

'и хотите добавить к часам дни до следующей субботы, и что каждую субботу, так что, если мы достигнем одного, он должен автоматически начать его с начала' - Что вы имеете в виду? Пожалуйста, объясните подробно, что вы пытаетесь выполнить, и включите ожидаемый результат в вопрос. –

+0

он хочет, чтобы кто-то написал для него код – tinybyte

+0

'$ time = new DateTime ('В следующую субботу 6 вечера');' - Это просто потрясающе! –

ответ

0

Вы должны получить каждый дни, часы и минуты отдельно:

$diff = $time->diff($now); 
$days = $diff->format("%a"); 
$hours = $diff->format("%h"); 
$minutes = $diff->format("%i"); 
$total_hours = $days * 24 + $hours; //figure out the total hours 
echo "$total_hours hours $minutes minutes remaining"; 
+0

«Вам нужно получать каждый день, часы и минуты отдельно:« thats it thanks – user3289514

+0

круто, удачи, голосуйте, если это помогло – ElefantPhace

1
$plusSix = date('Y-m-d' , strtotime('+6 hours' , time())); // to add 6 hours 

проверить день я думаю:

$dayNumber = date('w' , strtotime('2012-01-01')); 
+0

OP уже использует класс 'DateTime', поэтому Я не вижу необходимости в 'strtotime()' здесь. Кроме того, это не отвечает на исходный вопрос (плохо сформулированный на этом), который был задан. –

+1

@AmalMurali 'strtotime' поддерживает такие вещи, как' +2 days', 'next sunday' и т. Д. Без головной боли. – dognose

+1

@dognose: И что? 'DateTime' обрабатывает его просто отлично. Например: '$ now = $ now-> modify ('+ 2 day');'. –

Смежные вопросы