I have always found working with date time a pain. PHP works in seconds not hours, months, or days. Php calculates the time in seconds from the epochs, January 1 1970 00:00:00 GMT, and goes from there.
Your answer, but you should look up why this works:
$start_time = new DateTime('2012-12-11 12:00:00');
echo $start_time->format('Y-m-d H:i:s') . "<br />";
$finish_calculation = $start_time->add(new DateInterval('PT3H'));
echo $finish_calculation->format('Y-m-d H:i:s') . "<br />";
P.S. FYI you should always start php with <?php and not <?. The later has been discontinued and it will eventually bite you.