Maison  >  Article  >  développement back-end  >  Comment ajouter un nombre d'heures \'x\' à une date en PHP ?

Comment ajouter un nombre d'heures \'x\' à une date en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 10:26:01571parcourir

How to Add 'x' Number of Hours to a Date in PHP?

Ajouter un nombre d'heures 'x' à une date

En PHP, obtenir la date et l'heure actuelles est simple en utilisant la date( ) fonction. Cependant, des situations peuvent survenir dans lesquelles vous devez modifier cet horodatage en ajoutant un nombre d'heures spécifique.

Plongeons dans un scénario spécifique. Supposons que vous ayez une variable $now contenant la date et l'heure actuelles au format « Y-m-d H:m:s », où $hours est une variable représentant un nombre d'heures compris entre 24 et 800. La tâche consiste à créer une nouvelle variable $ new_time qui est égal à $now plus $hours.

Pour y parvenir, vous pouvez utiliser la fonction strtotime(). Cette fonction prend une chaîne de date ou d'heure et renvoie l'horodatage Unix correspondant, qui est le nombre de secondes depuis le 1er janvier 1970 UTC.

En combinant date() et strtotime(), vous pouvez construire l'horodatage souhaité. comme suit :

<code class="php">$new_time = date("Y-m-d H:i:s", strtotime("+$hours hours", strtotime($now)));</code>

Ce code ajoute la valeur de $hours en heures à l'horodatage actuel stocké dans $now. Le résultat est ensuite formaté à l'aide de date() pour correspondre au format de date et d'heure spécifié.

N'oubliez pas que si vous devez inclure des variables dans la chaîne transmise à strtotime(), vous devez utiliser des guillemets doubles au lieu de guillemets simples. et placez les noms des variables entre accolades.

Par exemple, si $now est une variable contenant l'horodatage actuel, vous écririez :

<code class="php">$new_time = date("Y-m-d H:i:s", strtotime("+{$hours} hours"));</code>

Cependant, il est recommandé d'utiliser un méthode plus robuste pour la substitution de variables, telle que :

<code class="php">$new_time = date("Y-m-d H:i:s", strtotime(sprintf("+%d hours", $hours)));</code>

Cette méthode garantit que l'interpolation des variables se produit lors de la concaténation de chaînes, empêchant ainsi les vulnérabilités potentielles d'injection de code.

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