Click to See Complete Forum and Search --> : show date time from server not local


mat41
03-07-2004, 06:32 PM
hello JS people

I would like to show date, time, on a page not relying on the users local settings. i have a script that rely on this however can not find one that gets the time from the server it's self. My objective::

Show four time zones Sydney, Atlanta, Singapore and London. Ideally in the following fashion EG::

Sydney 12:34pm Monday, 13 March, 2004

I have a very nice script that does this based as i said on the users local settings but cam not find any snazy serve time one.. I will attach the one I have based on local for any of you who are interested

Wind is your friend -- mat41 kiteguy

<html>
<HEAD>
<title>Multiple Time Zone Clock</title>
<SCRIPT LANGUAGE="JavaScript">
var timerID ;

function tzone(tz, os, ds, cl)
{
this.ct = new Date(0) ; // datetime
this.tz = tz ; // code
this.os = os ; // GMT offset
this.ds = ds ; // has daylight savings
this.cl = cl ; // font color
}

function UpdateClocks() // www.timeanddate.com/worldclock
{
var ct = new Array(
// new tzone('SFO: ', -8, 1, 'lime'),
// new tzone('TYO: ', +9, 0, 'violet'),
// new tzone('HKG: ', +8, 0, 'cyan'),
// new tzone('BKK: ', +7, 0, 'yellow'),
// new tzone('NYC: ', -5, 1, '#FFAA00'),
new tzone('LONDON: ', 0, 1, '#ffffff'),
new tzone('SYDNEY: ', +10, 1, '#ffffff'),
new tzone('ALTLANTA: ', -5, 0, '#ffffff'),
new tzone('Singapore: ', +7, 1, '#ffffff')

) ;
var dt = new Date() ; // [GMT] time according to machine clock
var startDST = new Date(dt.getFullYear(), 3, 1) ;

while (startDST.getDay() != 0)
startDST.setDate(startDST.getDate() + 1) ;

var endDST = new Date(dt.getFullYear(), 9, 31) ;
while (endDST.getDay() != 0)
endDST.setDate(endDST.getDate() - 1) ;

var ds_active ; // DS currently active
if (startDST < dt && dt < endDST)
ds_active = 0 ; //changed from 1
else
ds_active = 1 ; //changed from 0

// Adjust each clock offset if that clock has DS and in DS.
for(n=0 ; n<ct.length ; n++)
if (ct[n].ds == 1 && ds_active == 1) ct[n].os++ ;

// compensate time zones
gmdt = new Date() ;
for (n=0 ; n<ct.length ; n++)
ct[n].ct = new Date(gmdt.getTime() + ct[n].os * 3600 * 1000) ;

document.all.Clock0.innerHTML = '<font color="' + ct[0].cl + '">' + ClockString(ct[0].ct) + '</font>' ;
document.all.Clock1.innerHTML = '<font color="' + ct[1].cl + '">' + ClockString(ct[1].ct) + '</font>' ;
document.all.Clock2.innerHTML = '<font color="' + ct[2].cl + '">' + ClockString(ct[2].ct) + '</font>' ;
document.all.Clock3.innerHTML = '<font color="' + ct[3].cl + '">' + ClockString(ct[3].ct) + '</font>' ;
//document.all.Clock3.innerHTML = '<font color="' + ct[3].cl + '">' + ct[3].tz + ClockString(ct[3].ct) + '</font>' ;
// document.all.Clock4.innerHTML = '<font color="' + ct[4].cl + '">' + ct[4].tz + ClockString(ct[4].ct) + '</font>' ;
//document.all.Clock5.innerHTML = '<font color="' + ct[5].cl + '">' + ct[5].tz + ClockString(ct[5].ct) + '</font>' ;
//document.all.Clock6.innerHTML = '<font color="' + ct[6].cl + '">' + ct[6].tz + ClockString(ct[6].ct) + '</font>' ;
//document.all.Clock7.innerHTML = '<font color="' + ct[7].cl + '">' + ct[7].tz + ClockString(ct[7].ct) + '</font>' ;

timerID = window.setTimeout("UpdateClocks()", 1001) ;
}

function ClockString(dt)
{
var stemp, ampm ;
var dt_year = dt.getUTCFullYear() ;
var dt_month = dt.getUTCMonth() + 1 ;
var dt_day = dt.getUTCDate() ;
var dt_hour = dt.getUTCHours() ;
var dt_minute = dt.getUTCMinutes() ;
var dt_second = dt.getUTCSeconds() ;

dt_year = dt_year.toString() ;
if (0 <= dt_hour && dt_hour < 12)
{
ampm = 'AM' ;
if (dt_hour == 0) dt_hour = 12 ;

}
else
{
ampm = 'PM' ;
dt_hour = dt_hour - 12 ;
if (dt_hour == 0) dt_hour = 12 ;
}
if (dt_minute < 10)
dt_minute = '0' + dt_minute ;

if (dt_second < 10)
dt_second = '0' + dt_second ;

stemp = dt_day + '/' + dt_month + '/' + dt_year.substr(2,2) ;
stemp = stemp + ' ' + dt_hour + ":" + dt_minute + ":" + dt_second + ' ' + ampm ;
return stemp ;
}
</script>
</HEAD>
<BODY onLoad="UpdateClocks()">
<table border="0" cellppading="2" cellspacing="0">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td bgcolor="#dbd8bd" align="center"><b>London</b></td>
</tr>
<tr bgcolor="#636363" style="font-family: Arial; font-size: x-small">
<td ID="Clock0" width="25%" > </td>
</tR>
</table>
</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<tD>
<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td bgcolor="#dbd8bd" align="center"><b>Sydney</b></td>
</tr>
<tr bgcolor="#636363" style="font-family: Arial; font-size: x-small">
<td ID="Clock1" width="25%" > </td>
</tR>
</table>
</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<tD>
<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td bgcolor="#dbd8bd" align="center"><b>Atlanta</b></td>
</tr>
<tr bgcolor="#636363" style="font-family: Arial; font-size: x-small">
<td ID="Clock2" width="25%" > </td>
</tR>
</table>
</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
<tD>
<table border="0" cellspacing="0" cellpadding="2">
<tr>
<td bgcolor="#dbd8bd" align="center"><b>Singapore</b></td>
</tr>
<tr bgcolor="#636363" style="font-family: Arial; font-size: x-small">
<td ID="Clock3" width="25%" > </td>
</tR>
</table>
</td>
</tr>
</table>

</body>
</html>

gil davis
03-07-2004, 08:54 PM
You cannot get the server time with a client script. It is a security issue.

If you must use the server's clock (which is not guaranteed to be any more correct than the client, BTW), then you will have to use some server side scripting.

fredmv
03-07-2004, 09:00 PM
http://forums.webdeveloper.com/showthread.php?s=&threadid=29389

mat41
03-07-2004, 09:30 PM
FredMV

Thanking you kindly !! the link you directed me to looks exactly what I need

fredmv
03-07-2004, 09:32 PM
No problem. The search feature can do wonders. ;)

rog
05-18-2004, 01:51 PM
Hi ui Still can't put the server time in my page
thanks

mat41
05-18-2004, 06:31 PM
rog

say what ?????

rog
05-18-2004, 06:33 PM
Hi i can't put the server time in my page the same problem you hav