相较于两地时间表,可以显示世界各时区时间和地名的世界时区表(World Time),就显得精密与复杂多了,通常世界时区表的表盘上会标示着全球24个时区的城市名称,但究竟这24个时区是如何产生的?过去世界各地原本各自订定当地时间,但随着交通和电讯的发达,各地交流日益频繁,不同的地方时间,造成许多困扰,于是在西元1884年的国际会议上制定了全球性的标准时,明定以英国伦敦格林威治这个地方为零度经线的起点(亦称为本初子午线),并以地球由西向东每24小时自转一周360°,订定每隔经度15°,时差1小时。而每15°的经线则称为该时区的中央经线,将全球划分为24个时区,其中包含23个整时区及180°经线左右两侧的2个半时区。就全球的时间来看,东经的时间比西经要早,也就是如果格林威治时间是中午12时,则中央经线15°E的时区为下午1时,中央经线30°E时区的时间为下午2时;反之,中央经线15°W的时区时间为上午11时,中央经线30°W时区的时间为上午10时。以台湾为例,台湾位于东经121°,换算后与格林威治就有8小时的时差。如果两人同时从格林威治的0°各往东、西方前进,当他们在经线180°时,就会相差24小时,所以经线180°被定为国际换日线,由西向东通过此线时日期要减去一日,反之,若由东向西则要增加一日。
格林威治标准时间GMT
十七世纪,格林威治皇家天文台为了海上霸权的扩张计画而进行天体观测。1675年旧皇家观测所(Old Royal Observatory)正式成立,到了1884年决定以通过格林威治的子午线作为划分地球东西两半球的经度零度。观测所门口墙上有一个标志24小时的时钟,显示当下的时间,对全球而言,这里所设定的时间是世界时间参考点,全球都以格林威治的时间作为标准来设定时间,这就是我们耳熟能详的“格林威治标准时间”(Greenwich Mean Time,简称G.M.T.)的由来,标示在手表上,则代表此表具有两地时间功能,也就是同时可以显示原居地和另一个国度的时间。
世界协调时间UTC
多数的两地时间表都以GMT来表示,但也有些两地时间表上看不到GMT字样,出现的反而是UTC这3个英文字母,究竟何谓UTC?事实上,UTC指的是Coordinated Universal Time-世界协调时间(又称世界标准时间、世界统一时间),是经过平均太阳时(以格林威治时间GMT为准)、地轴运动修正后的新时标以及以“秒”为单位的国际原子时所综合精算而成的时间,计算过程相当严谨精密,因此若以「世界标准时间」的角度来说,UTC比GMT来得更加精准。其误差值必须保持在0.9秒以内,若大于0.9秒则由位于巴黎的国际地球自转事务中央局发布闰秒,使UTC与地球自转周期一致。所以基本上UTC的本质强调的是比GMT更为精确的世界时间标准,不过对于现行表款来说,GMT与UTC的功能与精确度是没有差别的。
夏日节约时间DST
所谓“夏日节约时间”Daylight Saving Time(简称D.S.T.),是指在夏天太阳升起的比较早时,将时钟拨快一小时,以提早日光的使用,在英国则称为夏令时间(Summer Time)。这个构想于1784年由美国班杰明·富兰克林提出来,1915年德国成为第一个正式实施夏令日光节约时间的国家,以削减灯光照明和耗电开支。自此以后,全球以欧洲和北美为主的约70个国家都引用这个做法。目前被划分成两个时区的印度也正在商讨是否全国该统一实行夏令日光节约时间。欧洲手机上也有很多GSM系统的基地台,除了会传送当地时间外也包括夏令日光节约时间,做为手机的时间标准,使用者可以自行决定要开启或关闭。值得注意的是,某些国家有实施“夏日节约时间”的制度,出国时别忘了跟随当地习惯在表上调整一下,这可是机械表没有的功能设计哦!
Program below:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> </head> <frameset cols="600,*" frameborder="0"> <frame src="WTConver.html" name=formFrame > <frame src="about:blank" name=resultsFrame> </frameset> </html>
WTConver.html
<html> <head> <script language="javascript" type="text/javascript"> var timeDiff; var selectedCity; var daylightSavingAdjust = 0; function updateTimeZone() { var lstCity = document.form1.lstCity; timeDiff = lstCity.options[lstCity.selectedIndex].value; selectedCity = lstCity.options[lstCity.selectedIndex].text; updateTime(); getTimeDetail() } function getTimeString(dateObject) { var timeString; var hours = dateObject.getHours(); if (hours < 10) hours = "0" + hours; var minutes = dateObject.getMinutes(); if (minutes < 10) minutes = "0" + minutes; var seconds = dateObject.getSeconds() if (seconds < 10) seconds = "0" + seconds; timeString = hours + ":" + minutes + ":" + seconds; return timeString; } function getTimeDetail() { var nowTime = new Date(); nowTime.setMinutes(nowTime.getMinutes() + nowTime.getTimezoneOffset() + parseInt(timeDiff) + daylightSavingAdjust); <!--getMonth显示当前月份-1,所以要+1才能显示当前月份--> var month=nowTime.getMonth()+1; var year, date, hours, minutes, seconds; var intHours, intMinutes, intSeconds; <!--显示几天为星期几--> var week=new Array() week[0]="星期天 "; week[1]="星期一 "; week[2]="星期二 "; week[3]="星期三 "; week[4]="星期四 "; week[5]="星期五 "; week[6]="星期六 "; intHours = nowTime.getHours(); intMinutes = nowTime.getMinutes(); intSeconds = nowTime.getSeconds(); year=nowTime.getFullYear(); date=nowTime.getDate(); var time; if (intHours == 0) { hours = "00:"; } else if (intHours < 10) { hours = "0" + intHours+":"; } else { hours = intHours + ":"; } if (intMinutes < 10) { minutes = "0"+intMinutes+":"; } else { minutes = intMinutes+":"; } if (intSeconds < 10) { seconds = "0"+intSeconds+" "; } else { seconds = intSeconds+" "; } //根据不同的时间显示不同的问候。 time="午夜好"; if(nowTime.getHours()<=22) time="晚上好"; if(nowTime.getHours()<=19) time="傍晚好"; if(nowTime.getHours()<=17) time="下午好"; if(nowTime.getHours()<=14) time="中午好"; if(nowTime.getHours()<=12) time="上午好"; if(nowTime.getHours()<=8) time="早上好"; if(nowTime.getHours()<=5) time="凌晨好"; timeString="今天是:"+year+"年"+month+"月"+date+"日 "+hours+minutes+seconds+week[nowTime.getDay()]+time; var city = selectedCity Cyti.innerHTML = city; Clock.innerHTML = timeString; window.setTimeout("getTimeDetail();", 1000); } function updateTime() { var thisTime = new Date(); var resultsFrame = window.top.resultsFrame.document; resultsFrame.open() resultsFrame.write("Local Time is " + getTimeString(thisTime) + "<br>"); thisTime.setMinutes(thisTime.getMinutes() + thisTime.getTimezoneOffset() + parseInt(timeDiff) + daylightSavingAdjust); resultsFrame.write(selectedCity + " time is " + getTimeString(thisTime)); resultsFrame.close(); } function chkDaylightSaving_onclick() { if (document.form1.chkDaylightSaving.checked) { daylightSavingAdjust = 60; } else { daylightSavingAdjust = 0; } updateTime(); getTimeDetail(); } </script> </head> <body onload="updateTimeZone()"> <form name=form1> <select name=lstCity language=JavaScript onchange="updateTimeZone();"> <option value=600>Sydney</option> <option value=480 selected>Beijing</option> <option value=330>Bombay</option> <option value=180>Moscow</option> <option value=60>Berlin</option> <option value=60>Paris</option> <option value=0>London</option> <option value=-300>New York (EST)</option> <option value=-480>San Francisco (PST)</option> <option value=-480>Vancouver</option> </select> <p> It’s summertime in the selected city and its country adjusts for summertime daylight saving <input type="checkbox" name=chkDaylightSaving language=JavaScript onclick="return chkDaylightSaving_onclick()"> </p> </form> <br> <table width="560" border="1" cellspacing="3" cellpadding="0"> <tr> <td><span id="Cyti"></span></td> <td><span id="Clock"></span></td> </tr> </table> <br> <table width="560" border="1" cellspacing="3" cellpadding="0"> <tr> <td>浏览器类型</td> <td><script>document.write(navigator.appName)</script></td> </tr> <tr> <td>浏览器版本</td> <td><script>document.write(navigator.appVersion)</script></td> </tr> <tr> <td>浏览器语言</td> <td><script>document.write(navigator.browserLanguage)</script></td> </tr> <tr> <td>CPU类型</td> <td><script>document.write(navigator.cpuClass)</script></td> </tr> <tr> <td>操作系统</td> <td><script>document.write(navigator.platform)</script></td> </tr> <tr> <td>系统语言</td> <td><script>document.write(navigator.systemLanguage)</script></td> </tr> <tr> <td>用户语言;</td> <td><script>document.write(navigator.userLanguage)</script></td> </tr> <tr> <td>在线情况</td> <td><script>document.write(navigator.onLine)</script></td> </tr> <tr> <td>屏幕分辨率</td> <td><script>document.write(window.screen.width+"x"+window.screen.height)</script></td> </tr> <tr> <td>颜色</td> <td><script>document.write(window.screen.colorDepth+"位")</script></td> </tr> <tr> <td>字体平滑</td> <td><script>document.write(window.screen.fontSmoothingEnabled)</script></td> </tr> <tr> <td>appMinorVersion</td> <td><script>document.write(navigator.appMinorVersion)</script></td> </tr> <tr> <td>appCodeName</td> <td><script>document.write(navigator.appCodeName)</script></td> </tr> <tr> <td>cookieEnabled</td> <td><script>document.write(navigator.cookieEnabled)</script></td> </tr> <tr> <td>userAgent</td> <td><script>document.write(navigator.userAgent)</script></td> </tr> <tr> <td>javaEnabled</td> <td><script>document.write(navigator.javaEnabled())</script></td> </tr> <tr> <td>taintEnabled</td> <td><script>document.write(navigator.taintEnabled())</script></td> </tr> </table> </body> </html>