strtotime
возвращает время в секундах, поэтому вам нужно преобразовать десятичное время в секундах:
<?php
date( 'g:i A', strtotime( $clockTime ) - $decimalTime * 60 * 60 ) );
?>
Однако, это не будет работать, когда в игру вступает летнее время (DST). Особенно, если ваш код будет работать в разных странах, используйте часовые пояса и DateTime
-API:
<?php
$date = new \DateTime($clockTime); // This uses the system default timezone where the server is located
$date->sub(new \DateInterval('PT' . ((int) $decimalTime * 60 * 60) . 'S'));
echo $date->fomat('g:i A');
?>