Как узнать если дата уже прошла?

153
26 апреля 2021, 06:00
$date1 = "2019-08-27 13:46:35";
$date2 = "2019-08-26 13:26:38";
$diff = abs(strtotime($date2) - strtotime($date1));
$years = floor($diff / (365*60*60*24));
$months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24));
$days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24));
printf("%d years, %d months, %d days\n", $years, $months, $days);

дата 1 - нынешняя дата дата 2 - созданая дата

Код уравнивает две даты и выводит разницу если еще остался 1 день то покажет 1 если просрочена на 1 то вернет также 1

Как сделать что если дата просрочена возвращать сроку например просрочена?

Answer 1

Вам лучше использовать стандартные инструменты, доступные в PHP, как-то DateTime и DateInterval, так как ваши рассчеты дат не учитывают ни високосные года, ни разное количество дней в месяцах:

 $date1 = new DateTime("2019-08-27 13:46:35");
 $date2 = new DateTime("2019-08-26 13:26:38");
 echo $date1->diff($date2)->format("%y years, %m months, %d days") . PHP_EOL;
 echo 'Дата прошла?: ' . (($date2 > $date1) ? 'да' : 'нет') . PHP_EOL;
READ ALSO
Вычисление в базе или в приложении?

Вычисление в базе или в приложении?

Возник вопрос, возможно, глупый, но все жеЕсть приложение на php и бд с субд Postgresql с расширением postgis

134
Как определить, был ли редирект?

Как определить, был ли редирект?

Есть метод, который производит редиректНеобходимо модифицировать или переписать его так, что бы перед редиректом он проверял, не было ли редиректа...

165
Проблема с Laravel Steam Auth

Проблема с Laravel Steam Auth

следующая проблема: Использую данный пакет: https://githubcom/invisnik/laravel-steam-auth

156
Как узнать на какой строке echo

Как узнать на какой строке echo

в wp с помощью ajax получаю данные из functionphp но в месте с данными выводится какой-то 0

131