You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将负天数替换为EXPIRED显示?PHP代码求助

解决方法:负数天数显示EXPIRED

嘿,我来帮你搞定这个需求!你的代码已经完成了核心的天数计算,只需要添加一个简单的条件判断就能实现当天数为负时显示EXPIRED的效果啦。

步骤说明

  1. 保留你原有的日期差计算逻辑(我帮你简化了一点冗余的写法)
  2. 添加条件判断:如果计算出的$days小于0,就把显示内容设为EXPIRED,否则保留天数数值

修改后的完整代码

// 获取当前时间(你原注释写的Database date应该是笔误,这里是当前时间哦)
$dbDate = strtotime(date('Y-m-d H:i:s'));
// 转换截止日期为时间戳
$endDate = strtotime($result['duedate']);
// 计算时间差(秒数)
$diff = $endDate - $dbDate;
// 转换为天数
$days = intval($diff / (3600 * 24));

// 核心判断逻辑:负数天数显示EXPIRED
$displayResult = $days < 0 ? 'EXPIRED' : $days;

// 输出结果
echo $displayResult;

可选的if-else写法(更直观)

如果你觉得三元运算符不够直观,也可以用标准的if-else语句实现同样的效果:

$displayResult = '';
if ($days < 0) {
    $displayResult = 'EXPIRED';
} else {
    $displayResult = $days;
}

小优化提示

你原代码里strtotime("" . $result['duedate'] . "")的写法有点冗余,直接用strtotime($result['duedate'])就可以啦,因为strtotime可以直接处理字符串类型的日期,没必要拼接空字符串。

内容的提问来源于stack exchange,提问作者BlueMoutain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:23:11