60 votes

Ajout d'une heure à la variable temps

J'ai une heure à laquelle je veux ajouter une heure :

$time = '10:09';

J'ai essayé :

$time = strtotime('+1 hour');

strtotime('+1 hour', $time);

$time = date('H:i', strtotime('+1 hour'));

Mais aucune des solutions ci-dessus ne fonctionne.

3voto

Une solution simple et intelligente :

date("H:i:s", time()+3600);

3voto

Vous pouvez essayer ce code :

$time = '10:09';

echo date( 'H:i', strtotime( '+1 hour' , strtotime($time) ) );

1voto

rcdmk Points 6068

Vous pouvez utiliser :

$time = strtotime("10:09") + 3600;
echo date('H:i', $time);

Ou date_add : http://www.php.net/manual/en/datetime.add.php

-1voto

user3298040 Points 7

Attention à l'ajout de 3600 !! peut être un problème lors du changement de jour à cause du format de timestamp unix qui utilise le mois avant le jour.

Par exemple, 2012-03-02 23:33:33 deviendrait 2014-01-13 13:00:00 en ajoutant 3600. Il est préférable d'utiliser les fonctions mktime et date qui peuvent gérer cela et des choses comme l'ajout de 25 heures, etc.

-2voto

jai Points 51

Mise à jour de 2021

Ça a marché pour moi.

$text = str_replace(':PM', '', '19:00:PM');   //19:00:PM  //Removes :PM
$text = str_replace(':AM', '', $text);   //Removes :AM
$time = strtotime($text);   //19:00
$startTime = date("H:i:A", strtotime('- 1 hours', $time));
$endTime = date("H:i:A", strtotime('+ 1 hours', $time));

Sortie :

echo $startTime; //18:00:PM
echo $endTime;  //20:00:PM

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X