confusión con la adición de 2 valores de tiempo

Básicamente, todo este tiempo me frustra, soy nuevo en la progtwigción, así que me disculpo si hago una pregunta estúpida.

Tengo un tiempo MySQL () almacenado en mi base de datos. Quiero agregar este tiempo a la hora actual para establecer un tiempo objective.

$ duración es 06:00:00. (Tiempo de MySQL)

$length = strtotime($duration); $timestart = time(); $target = $length + time(); // merely to check if im getting correct values. echo "
duration: ".date('G:i:s', $length)."
"; echo "current time:".date('G:i:s', $timestart)."
"; echo "target time:".date('G:i:s', $target)."
";

Actualmente lo saco (no 6 horas de aumento):

duración: 6:00:00
hora actual: 15: 51: 44
tiempo objective: 19: 51: 44

¿Alguien puede explicar esto por mí?

Muchas gracias,

strtotime convierte en una marca de tiempo de Unix. NO representa seis horas. Representa las 6AM de hoy. Deberías trabajar con segundos:

 $duration = '06:00:00'; $duration_array = explode(':', $duration); $length = ((int)$duration_array[0] * 3600) + ((int)$duration_array[1] * 60) + (int)$duration_array[2]; $target = $length + time(); 

No estoy muy familiarizado con mySql, pero quizás puedas probar

 $target = strtotime($length) + time(); 

Strtotime está propagando una fecha en el interior, algo así como “6PM hoy”, en lugar de 6 horas como lo desea. La forma más fácil de hacerlo es correr

 time() + (6 * 3600); 

Donde 6 es horas, y 3600 es la cantidad de segundos en cada hora.