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 des 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.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!