var day="";
var month="";
var myweekday="";
var year="";
newdate = new Date();
mydate = new Date();
dston =  new Date('April 4, 1999 2:59:59');
dstoff = new Date('october 31, 1999 2:59:59');
var myzone = newdate.getTimezoneOffset();
newtime=newdate.getTime();

var zone = 0;  // references your time zone

if (newdate > dston && newdate < dstoff ) {
zonea = zone - 1 ;
dst = "  GMT";
}
else {
zonea = zone ; dst = "  GMT";
}
var newzone = (zonea*60*60*1000);
newtimea = newtime+(myzone*60*1000)-newzone;
mydate.setTime(newtimea);
myday = mydate.getDay();
mymonth = mydate.getMonth();
myweekday= mydate.getDate();
myyear= mydate.getYear();
year = myyear;

if (year < 2000)    // Y2K Fix, Isaac Powell
year = year + 1900; // http://onyx.idbsu.edu/~ipowell
myhours = mydate.getHours();
if (myhours >= 12) {
myhours = (myhours == 12) ? 12 : myhours - 12; mm = " pm";
}
else {
myhours = (myhours == 0) ? 12 : myhours; mm = " am";
}
myminutes = mydate.getMinutes();
if (myminutes < 10){
mytime = ":0" + myminutes;
}
else {
mytime = ":" + myminutes;
};
arday = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
armonth = new Array("January ","February ","March ","April ","May ","June ","July ","August ","September ", "October ","November ","December ")
ardate = new Array("0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31");
// rename locale as needed.

var time = ("in Derby, England it is: " + arday[myday] +" "+ardate[myweekday] + " " + armonth[mymonth] +" " + year+" - " + myhours + mytime+ mm + "  " + dst +".");
document.write(time);
