PHP – Strtotime – Agregar horas

Tengo esta variable:

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

Simplemente quiero agregar tres horas y repetirlo.

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?

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

3*60*60 es la mejor manera

La mejor manera es lo que piensas que es más legible. Las siguientes expresiones son idénticas:

 time() + 3 * 60 * 60 strtotime('+3 hours') 

siempre me gusta esto

 $current_time = date('Ymd 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('Ymd H:i:s', $new_time); echo $new_time; 
 $time = new DateTime("+ 3 hour"); $timestamp = $time->format('YMd h:i:s a'); 

Claro y conciso 🙂

Puede usar DateTime::modify para agregar tiempo, pero solo haría time()+10800 .

Si quieres ser ‘moderno’:

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

refs: objeto DateTime

Solo agregue segundos para agregar horas:

 strtotime($your_date)+2*60*60 

Esto agregará dos horas en su fecha.