Php получит количество дней и часов, оставшихся с даты

У меня есть дата спасения понравилось это "2011-09-23 19:10:18" И я хочу получить дни и часы, оставшиеся до достижения даты. Как мне это сделать? Я пытаюсь с помощью PHP-руководства, но все, что я нахожу, это просто классы, которые я не намерен использовать, так как остальная часть приложения написана на суде.

Фрагмент PHP:

<?php //Convert to date $datestr="2011-09-23 19:10:18";//Your date $date=strtotime($datestr);//Converted to a PHP date (a second count) //Calculate difference $diff=$date-time();//time returns current time in seconds $days=floor($diff/(60*60*24));//seconds/minute*minutes/hour*hours/day) $hours=round(($diff-$days*60*60*24)/(60*60)); //Report echo "$days days $hours hours remain<br />"; ?> 

Обратите внимание, что часовой пояс и отсутствие минут / секунд означает, что он может быть немного неточным.

Это должно засеять ваши усилия.

 getdate(strtotime("2011-09-23 19:10:18")) 

Полная конверсия:

 $seconds = strtotime("2011-09-23 19:10:18") - time(); $days = floor($seconds / 86400); $seconds %= 86400; $hours = floor($seconds / 3600); $seconds %= 3600; $minutes = floor($seconds / 60); $seconds %= 60; echo "$days days and $hours hours and $minutes minutes and $seconds seconds"; 

с PHP 5.3.0 вы можете использовать встроенный объект Date:

 $datetime1 = new DateTime('2009-10-11'); $datetime2 = new DateTime('2009-10-13'); $interval = $datetime1->diff($datetime2); echo $interval->format('%R%a days'); 

http://www.php.net/manual/en/book.datetime.php

Вот хорошее объяснение, вы можете взглянуть на это

это было бы что-то вроде

 echo $date = date("Ymd H:i:s");echo "\n"; $original=time($date); $modified = "2011-09-23 19:10:18"; echo date("Ymd H:i:s",$modified);echo "\n"; 

Самый простой способ – улучшить ответ от CountZero. Я использовал это решение для счетчика на время, оставшееся до истечения срока действия предложения. Добавление к первым трем строкам кода CountZero:

 $days = $interval->d; $hours = $interval->h; $minutes = $interval->i; $seconds = $interval->s; 

И теперь вы можете использовать строковые функции, чтобы уменьшить ваши возвращаемые значения, объединить все или добавить «0» или «00» перед значениями.

Вы можете найти текущую дату и время, используя функцию date (), а затем вычесть

$ x = 2011-09-23 – current_date

это не даст вам. дней осталось.

Делайте то же самое со временем.

Надеюсь это поможет