Bien por un lado echale un vistazo a este codigo que puede ayudarte una vez conocida la zona horaria de determinada region:
Código PHP:
<?php
date_default_timezone_set('UTC');
function now($timezone = NULL)
{
if (is_null($timezone))
{
return time();
}
else
{
$timezone = new DateTimeZone($timezone);
$now = new DateTime('now', $timezone);
$offset = $timezone->getOffset($now);
$time = time() + $offset;
return $time;
}
}
echo date('d/m/Y h:i:s',now ('America/Costa_Rica'));
?>
Las diferentes regiones o TimeZones en PHP soportadas son:
http://php.net/manual/es/timezones.php
Tambien hay funciones de la libreria PECL_geoip que pueden ayudarte mucho con estos temas, eso si deben estar habilitadas en el servidor:
http://pecl.php.net/package/geoip
La documentacion de esta libreria junto con sus funciones extremadamente potentes:
http://www.php.net/manual/es/ref.geoip.php
Espero que te sirva! Con esto no tendrias que lidiar con el tedioso Javascript y sus horribles parsers.
Un abrazo!