Я пытаюсь написать php-код, который сможет вычесть две даты и получить количество дней между двумя датами. Код, который я придумал, приводится нижеВыведите даты, чтобы получить количество дней
<?php
$c_date = date("Y-m-d");
//Subtracting two dates.
$date1 = new DateTime($d_date); //$d_date gets its value from database which i havent shown here
$date2 = new DateTime($c_date);
$interval = $date1->diff($date2);
echo "difference " . $interval->y . " years, " . $interval->m." months, ".$interval->d." days ";
?>
теперь выше код работает, но я не могу использовать его, чтобы удовлетворить свои потребности. Мне нужно выяснить, не указана ли дата доставки ($ d_date) в течение 5 дней с текущей даты и возвращаемого значения 1, если это так.
Так что если $c_date = "2013-09-24"
и $d_date = "2013-09-30"
тогда я буду возвращаться 1. Но беда в том, когда говорят, что дата поставки «2013-09-19» дата поставки уже давно прошлое, и я должен возвращаться 0, но с текущий код разница в день все равно будет 5, и поэтому я вернусь 1, что неверно.
Есть идеи, как преодолеть это?
Добавить инструкцию if, чтобы сравнить даты сначала (какая из них больше и т. Д.), А затем использовать логику, которую вы используете для разницы в 5 дней? – Maximus2012
Где ваш код возвращает что-нибудь? Это просто распечатка разницы. – andrewsi
Я не показывал возврат, потому что проблема связана с разницей в дате, он не может различать более высокие и более низкие даты, поэтому вычитание более низкой даты с более высокой даты также является положительным, что является бесполезным до –