"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment comparer les temps en PHP : un guide complet

Comment comparer les temps en PHP : un guide complet

Publié le 2024-11-09
Parcourir:915

How to Compare Times in PHP: A Comprehensive Guide

Comparaisons de temps PHP : un guide détaillé

Comparer les temps en PHP peut être une tâche délicate à maîtriser. Cet article fournira une explication complète sur la façon de comparer efficacement les temps à l'aide de diverses méthodes.

Limitation de la solution actuelle

L'extrait de code fourni dans la question, où vous essayez de comparer $NovisTime avec $ThatTime échoue car la comparaison s'effectue entre des chaînes. La comparaison de chaînes de PHP ne tient pas correctement compte des différences horaires.

Solution utilisant les horodatages

Une approche fiable consiste à convertir les deux heures en horodatages à l'aide de mktime() ou strtotime () puis effectuez une comparaison numérique. Le code révisé suivant le démontre :

$ThatTime = "14:08:10";
if (time() >= strtotime($ThatTime)) {
  echo "ok";
}

Dans ce cas, time() renvoie l'horodatage actuel et strtotime() convertit $ThatTime en horodatage. La comparaison est désormais simple et précise.

Solution utilisant DateTime (avec prise en compte des fuseaux horaires)

La classe DateTime de PHP permet des comparaisons de temps plus sophistiquées qui tiennent compte des fuseaux horaires. Voici comment vous pouvez l'utiliser :

$dateTime = new DateTime($ThatTime);
if ($dateTime->diff(new DateTime)->format('%R') == ' ') {
  echo "OK";
}

La méthode diff() calcule la différence entre deux objets DateTime, et la méthode format() la renvoie dans un format spécifique, tel que '%R' ici pour indiquer une différence positive ou négative.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3