Вопрос о формате даты и времени с отрицательными числами

Мне сложно понять, почему следующий код не работает. Он возвращает правильные числа, но когда он достигает -1, страница должна остановиться.

Поля даты - это дата в базе данных mysql.

$date = new DateTime(date("Y-m-d", strtotime($pay_posted1)));
$date->modify('+'.$time_frame1.' months');
$NEW_DATE = $date->format('Y-m-d');

$firstp  = new DateTime(date("Y-m-d")); //CURRENT DATE
$secondp = new DateTime(date("Y-m-d", strtotime($NEW_DATE)));

$diffp = $firstp->diff($secondp);

$DIFFp = $diffp->format('%R%a');
$DIFF_p = $diffp->format('%a');

if ($DIFFp == +0) {
    $PAYMENT_ERROR = "<center><h2><b><font color='#FF0000'>PAYMENT DUE 
    TODAY <a href=\"javascript:void(window.open('payment_history.php', 
     '', 
    'width=500,height=600,top=10,left=40,scrollbars=yes'))\">(View) 
    </a> 
    </font></b></h2></center>";
} elseif ($DIFFp <= +10) {
    $PAYMENT_ERROR = "<h2><b><font color='#FF0000'>PAYMENT DUE IN 
    $DIFFp DAY(S)</b></font></h2>";
} elseif ($DIFFp <= -1) {     
    $PAYMENT_ERROR = "<br><br><br><br><h1><b><font 
    color='#ff0000'>PAYMENT IS PAST DUE!! <br>
    PLEASE FOLLOW THIS <a 
    href='http://wawoffice.net/contact.php'>LINK</a></font></h1>";
   exit();
} else {
   $PAYMENT_ERROR = "";
}

Спасибо

Можете ли вы объяснить, чего именно вы пытаетесь достичь с помощью этого кода? Это поможет дать ответы, направленные на ваше решение (а не просто выяснить, что не работает с вашим кодом).

WOUNDEDStevenJones 10.12.2018 23:33
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
72
2

Ответы 2

-1 соответствует условию elseif ($DIFFp <= +10), поэтому последний elseif никогда не будет достигнут, вам нужно изменить порядок предложений elseif.

Спасибо, gramamj42. Вот и все, понятия не имею, как я это пропустил.

Рад, что смог помочь. Я вижу, что вы здесь новенький, поэтому, пожалуйста, не могли бы вы помочь мне, приняв мой ответ и удалив свое «Спасибо», что не является ответом!

grahamj42 11.12.2018 00:08

Другие вопросы по теме