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

107
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

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

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

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

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

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

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

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

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

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

92