2012-03-22 35 views
15

Así que lo que tengo que hacer es añadir 30 minutos a la siguienteadición de 30 minutos hasta la fecha

date("Ymdhis"); 

yo probamos este

+strtotime("+30 minutes"); 

Sin embargo, no parece que les gusta. Me pregunto cuál es el correcto por qué hacer esto.

+0

posible duplicado de http://stackoverflow.com/search ? q = agregar + minutos + php – Gordon

Respuesta

30

Su método de usar strtotime debería funcionar.

<?php 

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

?> 

salida

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

Sin embargo, su método de añadir el tiempo probablemente no es correcta. Lo anterior funcionará para agregar 30 minutos a la hora actual. Supongamos que desea agregar 30 minutos de un tiempo determinado, $t, luego use el segundo parámetro strtotime, que se usa como base para el cálculo de fechas relativas.

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

http://codepad.org/Z5yquF55

1

Intente algo así como.

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

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

No estoy seguro que todo el código es el siguiente, pero:

date("Ymdhis"); 

está volviendo una cadena. Por lo tanto, no tiene sentido agregar el resultado de

strtotime("+30 minutes"); 

(que es un número entero) a esa cadena.

O se quieren

strtotime("+30 minutes"); 

por sí mismo, o

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

para obtener la cadena con formato.

+0

Tenga en cuenta que en todas estas respuestas, obtiene la hora GMT (o UTC o como quiera llamar). – matt

0

¿Quieres decir date("Ymdhis", strtotime("+30 minutes"));? Esto representará la fecha que es 30 minutos en el futuro.

1

Utilice esta función:

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

strtotime() acepta un segundo parámetro, que es su punto de partida.

Si tiene date("Ymdhis", $somedate) y quiere añadir 30 minutos a la misma, que puede hacer date("Ymdhis", strtotime("+30 minutes", $someddate))

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

He probado este código, pero no funciona para mí:

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

Aquí es mi solución

//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 
Cuestiones relacionadas