Rumah > Soal Jawab > teks badan
P粉7207169342023-08-01 10:25:25
Dilema yang anda hadapi nampaknya berkaitan dengan cara anda membandingkan tarikh tamat dengan tarikh-masa semasa. Masalahnya terletak pada cara anda membina pembolehubah $endDateTime menggunakan fungsi date().
Dalam kod anda, anda menggunakan 'Y-m-d' sebagai format tarikh(), yang bermaksud ia hanya mengandungi tahun, bulan dan hari, tanpa masa. Anda kemudiannya menggabungkan '23-59-59' kepada tarikh, mengakibatkan format tarikh yang salah.
Untuk menyelesaikan masalah ini, anda harus mengubah suai pembolehubah $endDateTime untuk memasukkan masa lengkap (jam, minit dan saat) dalam format yang betul sebelum membandingkan. Anda boleh melakukan ini menggunakan fungsi date() dalam format 'Y-m-d H:i:s', seperti ini:
$endDateTime = date('Y-m-d 23:59:59');
Kini, $endDateTime akan mempunyai format yang betul dan perbandingan anda seharusnya berfungsi seperti yang diharapkan.
Berikut ialah kod yang dikemas kini:
<?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>
Dengan pelarasan ini, kod kini sepatutnya melumpuhkan butang dengan betul apabila tarikh tamat melepasi tarikh hari ini.