使用JavaScript可以很容易的在页面上显示出本地时间,但如果想在页面上显示出不同时区的时间,是否可以做到呢?答案是肯定的!我们只需要做一些简单的日期计算就可以得到不同时区的时间了,下面就详细讲解一下。
利用Date对象得到本地时间
d = new Date(); localTime = d.getTime(); //通过调用Data()对象的getTime()方法,即可显示1970年1月1日后到此时时间之间的毫秒数。接下来,通过Data()对象的getTimezoneOffset()方法来找出当地时间偏移值。在缺省情况下,此方法以分钟显示时区偏移值结果,因此在早先的计算中要将此值转换成毫秒。
localOffset = d.getTimezoneOffset() * 60000;然后将当前时间与时区偏移量相加,得到国际标准时间(用毫秒表示的,因为后面还需要计算,所以这里不做转换),然后与你想要知道的时区的偏移量再进行相加,得到那个时间的时间,然后再利用Date对象将其转换为时间字符串。
utc = localTime + localOffset; //得到国际标准时间 offset = 5.5; calctime = utc + (3600000*offset); nd = new Date(calctime); document.write('指定时区时间是:' + nd.toLocalString());