php - 带负数的日期时间格式问题

标签 php mysql

我无法弄清楚为什么以下代码不起作用。它返回正确的数字,但当它达到 -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 = "";
}

谢谢

最佳答案

-1 匹配条件 elseif($DIFFp <= +10)所以最后elseif永远不会到达,你需要颠倒 elseif 的顺序条款。

关于php - 带负数的日期时间格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53714655/

相关文章:

mysql - 这个简单的sql查询有什么问题?它返回 0 行

php - 在mysql中使用Distinct和Sum

javascript - 在 JQuery 中的动态数组中创建动态数组

php - 提交时将输入值保存到文本文件吗?

php - 在 WordPress 中回显 phpMyAdmin 数据库的一部分

javascript - 如何正确执行这个基于 promise 的 SQL 查询?

php - 测验的数据库结构是什么样的?

php - 用户输入是否进入 Controller 或模型?

php - 检查用户是否已投票支持他可以投票的最大数量的项目

mysql - 如何在Mysql中查找给定年份的星期开始和结束日期