Maison > Questions et réponses > le corps du texte
P粉7207169342023-08-01 10:25:25
Le dilemme que vous rencontrez semble être lié à la façon dont vous comparez la date de fin à la date-heure actuelle. Le problème réside dans la façon dont vous construisez la variable $endDateTime à l'aide de la fonction date().
Dans votre code, vous utilisez 'Y-m-d' comme format de date(), ce qui signifie qu'il ne contient que l'année, le mois et le jour, sans l'heure. Vous avez ensuite concaténé « 23-59-59 » à la date, ce qui a entraîné un format datetime incorrect.
Pour résoudre ce problème, vous devez modifier la variable $endDateTime pour inclure l'heure complète (heures, minutes et secondes) dans le format correct avant de comparer. Vous pouvez le faire en utilisant la fonction date() au format 'Y-m-d H:i:s', comme ceci :
$endDateTime = date('Y-m-d 23:59:59');
Maintenant, $endDateTime aura le format correct et votre comparaison devrait fonctionner comme prévu.
Voici le code mis à jour :
<?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>
Avec cet ajustement, le code devrait désormais désactiver correctement le bouton lorsque la date de fin est postérieure à la date d'aujourd'hui.