Non ho ben capito la seconda parte della tua richiesta, in ogni caso per aggiungere/togliere un tempo ad una data è sufficiente convertire questo tempo in h,m,s e usare questa funzione
Es:
Codice PHP:
<?php
$date 
= new DateTime('2000-01-01 0:0:1',new DateTimeZone('Europe/Berlin'));
echo 
$date->format('Y-m-d H:i:s') . "
"
;
$date->add(new DateInterval('PT10H3M2S')); /*Aggiungo 10 ore, 3 minuti, 2 secondi*/
echo $date->format('Y-m-d H:i:s') . "
"
;
?>
P.S. Usa date->sub invece per togliere un certo tempo.