strtotime
le convertit en un horodatage unix. Cela NE représente PAS six heures. Il représente 6 heures du matin aujourd'hui. Vous devriez travailler avec les secondes :
$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();