Manipulation du temps en PHP : ajouter et soustraire 30 minutes de H:i
En PHP, la gestion des tâches liées au temps est cruciale pour divers candidatures. Un scénario courant consiste à modifier les valeurs de temps au format « H : i ». Ce format représente l'heure en heures et en minutes, par exemple « 10h00 » ou « 13h30 ».
Pour ajouter ou soustraire des intervalles de temps spécifiques à ces valeurs, nous pouvons utiliser strtotime() et date( ) fonctions. Cependant, un comportement inattendu peut se produire si la valeur d'heure initiale n'est pas correctement formatée en tant qu'horodatage.
Prenons un exemple dans lequel nous visons à créer deux nouvelles valeurs : $startTime 30 minutes avant $time et $endTime 30. minutes après $time, où $time a le format "H:i."
L'extrait de code ci-dessous peut initialement sembler raisonnable :
$startTime = date("H:i",strtotime('-30 minutes',$time));
$endTime = date("H:i",strtotime(' 30 minutes',$time));
Cependant, en passant "10:00" comme $time, nous rencontrons des résultats inattendus : $startTime devient "00:30" au lieu du "09:30" prévu, et $endTime devient "01:30" au lieu de "10:30".
Le problème clé réside dans l'hypothèse initiale ce $time est un horodatage. Cependant, il s’agit simplement d’une chaîne au format « H:i ». Pour résoudre ce problème, il faut d'abord convertir $time en timestamp à l'aide de la fonction strtotime().
Le code corrigé :
$time = strtotime('10:00');
$startTime = date("H:i", strtotime('-30 minutes', $time));
$endTime = date("H:i", strtotime(' 30 minutes', $time));
Maintenant, les résultats correspondent à nos attentes : $startTime devient "09:30" et $endTime devient "10h30". En garantissant que $time est un horodatage dès le départ, nous pouvons effectuer des manipulations temporelles précises en PHP.
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