function setTimeEl(id, timeDiff) { var dateObj = new Date(); dateObj.setTime(dateObj.getTime() + dateOffset + timeDiff); var min = (dateObj.getMinutes() > 9) ? dateObj.getMinutes() : '0' + dateObj.getMinutes(); var sec = (dateObj.getSeconds() > 9) ? dateObj.getSeconds() : '0' + dateObj.getSeconds(); var timeStr = dateObj.getHours() + ':' + min + ':' + sec; document.getElementById(id).innerHTML = timeStr; } function updateTime() { // setup Hawaii DateTime setTimeEl('hawaiiTime', -(19*60*60*1000)); // setup Japan DateTime setTimeEl('japanTime', 0); setTimeout("updateTime()", 1000); } var dateLocal = new Date(); var dateServer = new Date('May 17, 2008 14:39:15'); var dateOffset = dateServer - dateLocal; YAHOO.util.Event.onAvailable('japanTime', updateTime);