Download this file and upload it into your punbb directory on your server
http://www.ic-gallery.com/stuff/tz.js
Then modify your main.tpl to include the file - add this in between <head> and </head>
<script type="text/javascript" src="tz.js"></script>
Then save this code as timezone.php and upload that into your punbb directory on your server
<?php
define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';
$timezone = $_GET['timezone'];
if (!is_numeric($timezone)) die('Invalid timezone');
if ($pun_user['id'] < 2) die('Not logged in');
$db->query("UPDATE {$db->prefix}users SET timezone = '$timezone' WHERE id = '{$pun_user['id']}' LIMIT 1");
echo $db->affected_rows();
That will check the timezone of visitors once per session and update the timezone in their profile where required. You can of course comment out or remove the alert() if you wish.