web-dev-qa-db-fra.com

ajouter 30 minutes à ce jour

Donc, ce que je dois faire, c'est ajouter 30 minutes à ce qui suit

date("Ymdhis");

J'ai essayé

+strtotime("+30 minutes");

mais il ne semble pas l'aimer. Je me demande quel est le bon pourquoi faire cela.

18
RussellHarrower

Votre méthode d'utilisation de strtotime devrait fonctionner.

<?php

echo date("Y/m/d H:i:s", strtotime("now")) . "\n";
echo date("Y/m/d H:i:s", strtotime("+30 minutes"));

?>

Sortie

2012/03/22 10:55:45
2012/03/22 11:25:45 // 30 minutes later

Cependant, votre méthode d'ajout de temps n'est probablement pas correcte. Ce qui précède fonctionnera pour ajouter 30 minutes à l'heure actuelle. Supposons que vous souhaitiez ajouter 30 minutes à partir d'une heure donnée, $t, puis utilisez le deuxième paramètre de strtotime, qui sert de base au calcul des dates relatives.

date("Y/m/d H:i:s", strtotime("+30 minutes", $t));

http://codepad.org/Z5yquF55

37
Josh

J'ai testé ce code mais cela ne fonctionne pas pour moi:

 $t = date();  
 date("Y/m/d h:i:s", strtotime("+30 minutes", $t));

Voici ma solution

 //This is where you put the date, but I use the current date for this example
 $date = date("Y-m-d H:i:s");

 //Convert the variable date using strtotime and 30 minutes then format it again on the desired date format
 $add_min = date("Y-m-d H:i:s", strtotime($date . "+30 minutes"));
 echo  $date . "<br />"; //current date or whatever date you want to put in here
 echo  $add_min; //add 30 minutes
6
SuperNoob

Essayez quelque chose comme.

$Start = "12:00:00";
$Minutes = 30;

$To = date("H:i:s", strtotime($Start)+($Minutes*60));
2
Adam

strtotime() accepte un second paramètre qui est son point de départ.

Si vous avez date("Ymdhis", $somedate) et que vous souhaitez y ajouter 30 minutes, vous pouvez faire date("Ymdhis", strtotime("+30 minutes", $someddate))

2
staticsan

Utilisez cette fonction:

date("Ymdhis", strtotime("+30 minutes"))
1
sikander

Je ne sais pas à quoi ressemble tout votre code, mais:

date("Ymdhis");

renvoie une chaîne. Il n'est donc pas logique d'ajouter le résultat de

strtotime("+30 minutes");

(qui est un entier) à cette chaîne.

Soit vous voulez

strtotime("+30 minutes");

par lui-même, ou

date("Ymdhis", strtotime("+30 minutes"));

pour obtenir la chaîne formatée.

0
matt

Voulez-vous dire date("Ymdhis", strtotime("+30 minutes"));? Cela représentera la date qui est de 30 minutes dans le futur.

0
mvdnes
<?php
print date("Y-m-d h:i:s", (time() + (60*30)) );
?>
0
Jacob S