2009-06-12 22 views

Respuesta

91

Creo que una de las mejores soluciones y más fácil es:

strtotime("+30 minutes") 

tal vez no es el más eficiente, pero es una de las más comprensible.

+0

¿Por qué el downvote, este es un método válido para agregar un intervalo de tiempo? –

+3

@Khriz: No tengo claro cómo usar strtotime() con su ejemplo relativo a una fecha y hora. ¿Puedes ser más específico? – TMC

+0

Si desea utilizar strtotime con respecto a una fecha actual, puede hacer 'código' strtotime ('2011-11-01 + 2 days'); – Khriz

1

Parece que está después de la función de complemento DateTime - utilizar de esta manera:

$date = new DateTime(); 
date_add($date, new DateInterval("PT30M")); 

(Nota: no probado, pero de acuerdo a la documentación, que debería funcionar)

+1

http://us.php.net/manual/en/datetime.add.php – tschaible

+1

Esa es una solución PHP> = 5.3.0 ya que la función y la clase DateInterval no está disponible en versiones anteriores. –

+0

Sí, pero el título especifica Fecha y hora, así que supongo que está usando la clase DateTime –

7
$timeIn30Minutes = mktime(idate("H"), idate("i") + 30); 

o

$timeIn30Minutes = time() + 30*60; // 30 minutes * 60 seconds/minute 

El resultado será una marca de tiempo UNIX de la hora actual más 30 minutos.

47

Esta es una vieja pregunta que parece contestó, sino como alguien señaló anteriormente, si se utiliza la clase DateTime y PHP 5.3.0 <, no se puede utilizar el método add, pero se puede utilizar modificar:

$date = new DateTime(); 
$date->modify("+30 minutes"); //or whatever value you want 
3
echo $date = date('H:i:s', strtotime('13:00:00 + 30 minutes')); 

13:00:00 - cualquier momento introducido

30 minutos - cualquier intervalo que desee (20 horas, 10 minutos, 1 segundo, etc ...)

0

Además de la respuesta de Khriz.

Si necesita añadir 5 minutos a la hora actual en Mysql formato que puede hacer:

$cur_time=date("Y-m-d H:i:s"); 
$duration='+5 minutes'; 
echo date('Y-m-d H:i:s', strtotime($duration, strtotime($cur_time))); 
6

Tiempo 30 minutos más tarde

$newTime = date("Y-m-d H:i:s",strtotime(date("Y-m-d H:i:s")." +30 minutes")) 
-1
$time = strtotime(date('2016-02-03 12:00:00')); 
     echo date("H:i:s",strtotime("-30 minutes", $time)); 
+0

La pregunta era * "Any simple solución para ** agregar ** 30 minutos a ** hora actual ** "*. – Pang

2
$ck=2016-09-13 14:12:33; 
$endtime = date('H-i-s', strtotime("+05 minutes", strtotime($ck))); 
0

tiempo después de 30 min, t su solución más fácil en php

date('Y-m-d H:i:s', strtotime("+30 minutes")); 

para la clase DateTime (PHP 5> = 5.2.0, PHP 7)

$dateobj = new DateTime(); 
$dateobj ->modify("+30 minutes"); 
0

La pregunta es un poco viejo, pero vuelvo a él con frecuencia; p

Otra forma, que también es un chiste:

<?= date_create('2111-11-11 00:00:00')->modify("+30 minutes")->format('Y-m-d h:i:s') ?> 

O de marca de tiempo, devuelve Ymd h: i: s:

<?= date_create('@'.time())->modify("+30 minutes")->format('Y-m-d h:i:s') ?> 

O de marca de tiempo, regresa marca de tiempo:

<?= date_create('@'.time())->modify("+30 minutes")->format('U') ?>