P粉7207169342023-08-01 10:25:25
你遇到的困境似乎與你如何比較結束日期和當前日期時間有關。問題在於你使用date()函數來建立$endDateTime變數的方式。
在你的程式碼中,你使用'Y-m-d'作為date()的格式,這表示它只包含年、月和日,沒有時間。然後,你將' 23-59-59'連接到日期上,導致了一個錯誤的日期時間格式。
為了解決這個問題,你應該修改$endDateTime變量,以正確的格式包含完整的時間(小時、分鐘和秒),然後再進行比較。你可以使用格式為'Y-m-d H:i:s'的date()函數來實現,就像這樣:
##
$endDateTime = date('Y-m-d 23:59:59');現在,$endDateTime將有正確的格式,你的比較應該如預期般運作。
以下是更新後的程式碼:
#
<?php $startDate = new DateTime($request_project->start_date); $endDate = new DateTime($request_project->end_date); $endDateTime = date('Y-m-d 23:59:59'); $startDateString = $startDate->format('Y-m-d H:i:s'); $endDateString = $endDate->format('Y-m-d H:i:s'); if ($endDateString <= $endDateTime) { ?> <a href="#" class="btn btn-primary btn-hover w-100 mt-2" onclick="doSomething()">Apply Now <i class="uil uil-arrow-right"></i></a> <?php } else { ?> <a href="#" class="btn btn-secondary btn-hover w-100 mt-2 disabled" onclick="doSomething()">Apply Now <i class="uil uil-arrow-right"></i></a> <?php } ?> <a href="#" class="btn btn-soft-warning btn-hover w-100 mt-2 bookmark" id="<?= $request_project->id ?>"><i class="uil uil-bookmark"></i> Add Bookmark</a>透過這個調整,程式碼現在應該能夠在結束日期已過今天日期時正確地停用按鈕。