Heim > Fragen und Antworten > Hauptteil
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>
通过这个调整,代码现在应该能够在结束日期已过今天日期时正确地禁用按钮。