Hmmm, should this work and automatically take account of daylight saving changes in the UK?
<?
$timezone0 = 0; // UK (no daylight saving)
$timezone1 = +4; // Dubai (no daylight saving)
$timezone2 = +7; // Bangkok (no daylight saving)
$timezone3 = +8; // Beijing, Hong Kong, Singapore, Shanghai (no daylight saving)
echo "UK time: " . gmdate("H:i:s", time() + 3600*($timezone0+date("1")));
echo "<br /><br />";
echo "Dubai time: " . gmdate("H:i:s", time() + 3600*($timezone1+date("0")));
echo "<br /><br />";
echo "Bangkok time: " . gmdate("H:i:s", time() + 3600*($timezone2+date("0")));
echo "<br /><br />";
echo "Beijing, Hong Kong, Singapore, Shanghai time: " . gmdate("H:i:s", time() + 3600*($timezone3+date("0")));
?>