Maison >développement back-end >tutoriel php >Comment comparer les temps en PHP : un guide complet

Comment comparer les temps en PHP : un guide complet

Linda Hamilton
Linda Hamiltonoriginal
2024-11-19 03:24:031025parcourir

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn