Vérification d'une plage horaire en PHP : vérifier si le temps se situe entre deux intervalles
En PHP, déterminer si une heure donnée se situe dans une plage spécifiée est une tâche de programmation courante. Cela peut être particulièrement utile pour les applications qui nécessitent des fonctionnalités de planification, de gestion du temps ou de planification d'événements.
Énoncé du problème :
Étant donné trois variables représentant l'heure actuelle, le lever du soleil et coucher du soleil au format chaîne, le but est d'écrire un script PHP qui vérifie si l'heure actuelle se situe entre le lever et le coucher du soleil.
Solution :
Pour résoudre ce problème, nous pouvons utiliser la classe DateTime de PHP et comparer les heures :
<code class="php">$current_time = "10:59 pm"; $sunrise = "5:42 am"; $sunset = "6:26 pm"; // Convert strings to DateTime objects $date1 = DateTime::createFromFormat('h:i a', $current_time); $date2 = DateTime::createFromFormat('h:i a', $sunrise); $date3 = DateTime::createFromFormat('h:i a', $sunset); // Check if current time is after sunrise and before sunset if ($date1 > $date2 && $date1 < $date3) { echo 'Current time is between sunrise and sunset'; }
Dans ce script, nous convertissons d'abord les chaînes d'heure en objets DateTime en utilisant le méthode createFromFormat(). Ces objets fournissent une interface pratique pour comparer et effectuer des opérations date/heure.
Nous comparons ensuite l'heure actuelle ($date1)** au lever du soleil **($date2) et au coucher du soleil. ($date3) fois en utilisant le supérieur à (>) et inférieur à (<) opérateurs. Si l'heure actuelle est supérieure au lever du soleil et inférieure au coucher du soleil, cela signifie qu'elle se situe dans la plage spécifiée. 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!