我想比较两个日期:一个接收日期和一个添加了 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)
然后尝试比较。