我想显示我在我的网页上选择的时区的时间。我找到了显示当前时间的方法http://www.webestools.com/ftp/ybouane/scripts_tutorials/javascript/date_time/date_time.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Display Date and Time in Javascript</title>
<script type="text/javascript" src="date_time.js"></script>
</head>
<body>
<span id="date_time"></span>
<script type="text/javascript">window.onload = date_time('date_time');</script>
</body>
</html>
和JS:
function date_time(id)
{
date = new Date;
year = date.getFullYear();
month = date.getMonth();
months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'Jully', 'August', 'September', 'October', 'November', 'December');
d = date.getDate();
day = date.getDay();
days = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
h = date.getHours();
if(h<10)
{
h = "0"+h;
}
m = date.getMinutes();
if(m<10)
{
m = "0"+m;
}
s = date.getSeconds();
if(s<10)
{
s = "0"+s;
}
result = ''+days[day]+' '+months[month]+' '+d+' '+year+' '+h+':'+m+':'+s;
document.getElementById(id).innerHTML = result;
setTimeout('date_time("'+id+'");','1000');
return true;
}
但如果我理解正确 - 它总是显示页面查看器时区的当前时间。所以当有人从那里登录时,例如澳大利亚 - 他会看到他的结果,来自波兰的人会看到完全不同的东西。我想在网页上显示固定时区的当前时间,比方说,例如在纽约。我应该如何修改此脚本以获得预期的结果?谢谢!
答案 0 :(得分:0)
您可以使用moment-timezone将时间转换为不同的时区
这里示例:
function toTimeZone(time, zone) {
var format = 'YYYY/MM/DD HH:mm:ss ZZ';
return moment(time, format).tz(zone).format(format);
}