У меня есть дата спасения понравилось это "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');
Вот хорошее объяснение, вы можете взглянуть на это
это было бы что-то вроде
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
это не даст вам. дней осталось.
Делайте то же самое со временем.
Надеюсь это поможет