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.
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