JS如何获取北京时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS如何获取北京时间相关的知识,希望对你有一定的参考价值。

JS如何获取网络时间,因为本地时间可以修改,所以需要获取网络服务器的时间,请问怎么写呢

参考代码如下:

<SCRIPT LANGUAGE = "javascript">
var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.3.0");
xmlhttp.open("GET", "http://bjtime.cn", false);
xmlhttp.setRequestHeader("If-Modified-Since", "bjtime");
xmlhttp.send();
var dateStr = xmlhttp.getResponseHeader("Date");
var date = new Date(dateStr);
var year = date.getFullYear();
var month = date.getMonth() + 1;
var date1 = date.getDate();
var hour = date.getHours();
var minutes = date.getMinutes();
var second = date.getSeconds();
alert(date + "  |  " + year + "年" + month + "月" + date1 + "日" + hour + "时" + minutes + "分" + second + "秒");
</SCRIPT>

参考技术A 要获取服务器时间,一般是在页面提交后,在后台获取。
如果用js获取服务器时间,可以通过ajax方式。本回答被提问者采纳
参考技术B

获取服务器的时间:

$.ajax(type:"OPTIONS",url:"/",complete:function(x)alert(x.getResponseHeader("Date")))

JS 根据时区获取时间

// 北京是getZoneTime(8),纽约是getZoneTime(-5),班加罗尔是getZoneTime(5.5). 偏移值是本时区相对于格林尼治所在时区的时区差值
function getZoneTime(offset) {
    // 取本地时间
    var localtime = new Date();
    // 取本地毫秒数
    var localmesc = localtime.getTime();
    // 取本地时区与格林尼治所在时区的偏差毫秒数
    var localOffset = localtime.getTimezoneOffset() * 60000;
    // 反推得到格林尼治时间
    var utc = localOffset + localmesc;
    // 得到指定时区时间
    var calctime = utc + (3600000 * offset);
    var nd = new Date(calctime);

    return nd.toJSON().replace("T"," ").replace("Z"," ");
    //return nd.getFullYear()+"-"+nd.getUTCMonth()+"-"+nd.getDay() + " " + nd.toLocaleTimeString() ;
}

  

以上是关于JS如何获取北京时间的主要内容,如果未能解决你的问题,请参考以下文章

如何使用js显示指定时区的时间

12.6.4 获取北京时间实例

Nodejs 获取北京时间

python获取标准的北京时间的源码

北京时间

如何调整linux的时间为北京时间