2010-06-16 15 views
17

¿Cómo puedo agregar 30 segundos para este momento?Agregue 30 segundos al tiempo con PHP

$time = date("m/d/Y h:i:s a", time()); 

yo no estaba seguro de cómo hacerlo, ya que está mostrando un montón de diferentes unidades de tiempo, cuando sólo quiero añadir 30 segundos.

Respuesta

49
$time = date("m/d/Y h:i:s a", time() + 30); 
0

Ver mktime:

mktime (date("H"), date("i"), date("s") + 30) 

http://www.php.net/manual/en/function.mktime.php

debe hacer lo que quiera.

+0

por qué un voto abajo con ningún comentario? – reuscam

+1

porque es feo. Si 'date (" s ")' por ejemplo devuelve 50, entonces será 50 + 30 = 80, lo que no es un número válido de segundos en un 'tiempo'. Mejor solo usa el tiempo() + 30 (es más lógico). – VDVLeon

+0

"Porque es feo" es una razón para el voto a la baja, no es una razón para votar a la baja sin ningún comentario. Gracias por la explicación. – reuscam

14

Si está utilizando php 5.3+, consulte DateTime::add operations o modify, realmente mucho más fácil que esto.

Por ejemplo:

$startTime = new DateTime("09:00:00"); 
$endTime = new DateTime("19:00:00"); 


while($startTime < $endTime) { 

$startTime->modify('+30 minutes'); // can be seconds, hours.. etc 

echo $startTime->format('H:i:s')."<br>"; 
break; 
} 
0
$time = date("m/d/Y h:i:s", time()); 
$ts = strtotime($time); 
$addtime = date("m/d/Y h:i:s", mktime(date("h", $ts),date("i", $ts),date("s", $ts)+30,date("Y", $ts),date("m", $ts),date("d", $ts)); 

sería una más explicó versión de todo lo anterior.

8

¿Qué pasa con el uso de strtotime? El código sería entonces:

strtotime('+30 second'); 
+1

Parece que "segundo" y "segundos" funcionan. –

3
$time = date("m/d/Y h:i:s a", time() + 30); 

//or 

$time = date("m/d/Y h:i:s a", strtotime("+30 seconds")); 
-1

general:

$add_time=strtotime($old_date)+30; 
$add_date= date('m/d/Y h:i:s a',$add_time); 
Cuestiones relacionadas