我試圖比較日期是今天還是過去。據我所知,我應該能夠做到 date1 <= today 但即使日期在未來,它也顯示為 true
我從資料庫中獲取日期并使用它添加 30 天
echo "End Date: " . $rowTicket['endDate'] . "<br/>";
$disableDate = ($rowTicket['endDate'] != '0000-00-00') ? date('d-m-Y', strtotime(' 30 days', strtotime($rowTicket['endDate']))) : '';
然后使用
echo "Is " . $disableDate . " before today's date? (" . date("d-m-Y") . ")";
if($disableDate <= date("d-m-Y")) {
//$colourTR = $red;
echo " - Yes<br/><br/>";
} else {
echo " - No<br/><br/>";
}
我從回聲得到的輸出是
結束日期:2021-09-01
01-10-2021 在今天的日期之前嗎?(26-10-2021) - 是
結束日期:2021-10-15
14-11-2021 是不是在今天的日期之前?(26-10-2021) - 是
uj5u.com熱心網友回復:
因為你比較字串,而應該比較時間戳
echo "End Date: " . $rowTicket['endDate'] . "<br/>";
$disableDate = $rowTicket['endDate'] != '0000-00-00'
? strtotime(' 30 days', strtotime($rowTicket['endDate']))
: '';
$today = strtotime('today midnight');
echo "Is {$disableDate} before today's date? (" . date("d-m-Y", $today) . ")";
if($disableDate <= $today) {
//$colourTR = $red;
echo " - Yes<br/><br/>";
} else {
echo " - No<br/><br/>";
}
uj5u.com熱心網友回復:
您將日期格式化為字串。PHP 無法知道字串 '26-10-2021' 應該“小于”字串 '14-11-2021'。
如果將它們格式化為年份優先 ('Ym-d'),它將起作用,但最好比較整數時間戳(輸出strtotime)或DateTimeImmutable objects。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/345910.html
