<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>根据不同时区显示当地时间</title>
</head>
<body>
<p>北京时间:<span id="bj"></span></p>
<p>伦敦时间:<span id="ld"></span></p>
<p>纽约时间:<span id="ny"></span></p>
<p>东京时间:<span id="dj"></span></p>
<script type="text/javascript">
function getTimeString(date, timezone) {
//获取时差(返回当地时间与伦敦时间的分钟的差值)
var sc = date.getTimezoneOffset();
//获取日期对象
var newDate = new Date();
//重置日期对象
newDate.setTime(date.getTime() + sc * 60000 + timezone * 3600000);
//年
var Y = format(newDate.getFullYear());
//月
var M = format(newDate.getMonth() + 1);
//日
var D = format(newDate.getDate());
//小时
var H = format(newDate.getHours());
//分钟
var m = format(newDate.getMinutes());
//秒
var S = format(newDate.getSeconds());
//格式化时间
function format(n) {
if(n < 10) {
return '0' + n;
} else {
return '' + n;
}
}
//返回时间字符串
return Y + '年' + M + '月' + D + '日 ' + H + ':' + m + ':' + S;
};
setInterval(function() {
var now = new Date();
document.getElementById('bj').innerHTML = getTimeString(now, 8);
document.getElementById('dj').innerHTML = getTimeString(now, 9);
document.getElementById('ld').innerHTML = getTimeString(now, 0);
document.getElementById('ny').innerHTML = getTimeString(now, -5);
}, 1000)
</script>
</body>
</html>