I got some code that makes a clock that shows the time. if you choose a region it shows the time in that region. I am using PHP to get the server time to use as the base time. It works fine for me here in Japan, but if a user in Germany looks at the clock the time goes totally wrong. This is confusing because it is using the server time. Can anyone spot where the problem is? <?php echo ' <html> <head> </head> <body> <table border="0" width="200" cellspacing="0" cellpadding="3"> <form name="where"> <tr> <td width="100%"> <select name="city" size="1" onchange="updateclock(this);"> <option value="" selected>--select timezone--</option> <option value="-6">USA: Houston</option> <option value="-5">USA: Charlotte</option> <option value="-3">Argentina</option> <option value="0">U.K. (GMT)</option> <option value="1">France / Germany</option> <option value="8">Singapore / China</option> <option value="9">Japan / Korea</option> <option value="11">Sydney</option> </select> </td> </tr> <tr> <td width="100%">'; // now=new Date(); $now = date("Y/n/d/H/i/s", time()); echo ' <script language="JavaScript"> /* Drop Down World Clock- By JavaScript Kit (http://www.javascriptkit.com) Portions of code by Kurt @ http://www.btinternet.com/~kurt.grigg/javascript This credit notice must stay intact */ if (document.all||document.getElementById) document.write(\'<span id="worldclock" style="font:bold 16px Arial;"></span><br>\') zone=0; isitlocal=true; ampm=\'\'; function updateclock(z){ zone=z.options[z.selectedIndex].value; isitlocal=(z.options[0].selected)?true:false; } var i = 0; function WorldClock(){ var servDateArray=\''.$now.'\'.split(\'/\'); var now=new Date(Number(servDateArray[0]),Number(servDateArray[1]),Number(servDateArray[2]),Number(servDateArray[3]),Number(servDateArray[4]),Number(servDateArray[5])+i); i++; ofst=now.getTimezoneOffset()/60; secs=now.getSeconds(); sec=-1.57+Math.PI*secs/30; mins=now.getMinutes(); min=-1.57+Math.PI*mins/30; hr=(isitlocal)?now.getHours():(now.getHours() + parseInt(ofst)) + parseInt(zone); hrs=-1.575+Math.PI*hr/6+Math.PI*parseInt(now.getMinutes())/360; if (hr < 0) hr+=24; if (hr > 23) hr-=24; ampm = (hr > 11)?"PM":"AM"; statusampm = ampm.toLowerCase(); hr2 = hr; if (hr2 == 0) hr2=12; (hr2 < 13)?hr2:hr2 %= 12; if (hr2<10) hr2="0"+hr2 var finaltime=hr2+\':\'+((mins < 10)?"0"+mins:mins)+\':\'+((secs < 10)?"0"+secs:secs)+\' \'+statusampm; if (document.all) worldclock.innerHTML=finaltime else if (document.getElementById) document.getElementById("worldclock").innerHTML=finaltime else if (document.layers){ document.worldclockns.document.worldclockns2.document.write(finaltime) document.worldclockns.document.worldclockns2.document.close() } setTimeout(\'WorldClock()\',1000); } window.onload=WorldClock //--> </script> <!--Place holder for NS4 only--> <ilayer id="worldclockns" width=100% height=35><layer id="worldclockns2" width=100% height=35 left=0 top=0 style="font:bold 16px Arial;"></layer></ilayer> </td> </form> </tr> </table> </body> </html>'; ?> PHP: