如何使用if其他日期来比较它是更多还是更少



我想比较两个日期:一个接收日期和一个添加了 14 天的部署日期。

如果接收日期大于部署日期,则数据应突出显示为红色,否则应突出显示为黑色,我设法进行了此比较,但它仅比较天数,而不是年或月。我是否需要将这两个日期分成字符串来比较它们?

        while ($stmt->fetch()){
    if ($date < $deployment_date){
    echo '<font color="red">';
    }
    else{
        echo '<font color="black">';
    }

    echo "<table border='1' style='width:50%'>";
    echo "<td>";
    echo "<b>Receipt ID: <a href ='transactiondetail.php?receipt=$receipt'>$receipt</b></a>";
    echo "<br><br>";
    echo "Used By: $officer_id";
    echo "<br><br>";
    echo "Cost: $cost";
    echo "<br><br>";
    echo "Area travelled: $area";
    echo "<br><br>";
    echo "Date of Submission: $date ";
    $deployment_date = date_create("$deployment_date");        
    date_add($deployment_date, date_interval_create_from_date_string('14 days'));
    echo date_format($deployment_date, 'Y-m-d');        
    echo "<br><br>";
    echo "<br><br>";
    echo "</td>";
    echo '</font>';
    echo "</table>";
    echo "<br>";
    }

DateTime 类允许您使用标准比较运算符。

例如

$receiptDate = DateTime::createFromFormat('Y-m-d', '2000-01-01');
$deploymentDate = DateTime::createFromFormat('Y-m-d', '2001-01-01');
if ($receiptDate < $deploymentDate) {
    // do stuff here
}

对于日期比较,请尝试使用 strtotime() .

下面是一个示例:

$date = strtotime($date) & $deployment_date=strtotime($deployment_date)

然后尝试比较。

最新更新