Debt Consolidation - Sportingbet - Insurance Quotes - Debt Consolidation - Debt Consolidation

PDA

View Full Version : PHP / Javascript clock problem


mameha1977
Dec 4th 2007, 6:53 pm
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>';

?>