2012-06-18 25 views
6

que tienen esta variable:PHP - strtotime - Añadir horas

$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time()); 

Simplemente quiero añadir tres horas y echo un vistazo.

He visto la forma en que puedes hacer el método 60 * 60 * 3 o el código difícil "+ 3 horas" donde entiende las palabras.

¿Cuál es la mejor manera de obtener este resultado?

Respuesta

5
$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time() + 3*60*60) 

3*60*60 es la mejor manera

0

Si usted quiere ir 'moderna':

$d = new DateTime(); 
$d->add(new DateInterVal('P3H')); 
$timestamp = $d->format('Y-M-d h:i:s a'); 

árbitros: DateTime objeto

+0

Eso sería DateInterval ('PT3H'), en mi humilde opinión, –

12

la mejor manera es lo que creo que es más fácil de leer. Las siguientes expresiones son idénticas:

time() + 3 * 60 * 60 

strtotime('+3 hours') 
1
$time = new DateTime("+ 3 hour"); 
$timestamp = $time->format('Y-M-d h:i:s a'); 

clara y concisa :)

4

siempre lo hago como esto

$current_time = date('Y-m-d H:i:s'); 
$new_time = strtotime($current_time . "+3hours"); 
echo $new_time; 

o

$new_time = mktime(date('H')+3, 0, 0, date('m'), date('d'), date('Y')); 
$new_time = date('Y-m-d H:i:s', $new_time); 
echo $new_time; 
0

Sólo tiene que añadir al segundo agregar horas:

strtotime($your_date)+2*60*60 

Esto agregará dos horas en su fecha.