C# Web前台显示服务器时间自动更新

Web前台显示服务器时间

后台代码
服务器时间转时间戳

public string getServerTime()
{
    TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
    return  (Convert.ToInt64(ts.TotalSeconds) * 1000).ToString();
}

HTML时间标签

<h3 id="sys-local-time" style="float:left;padding-left:30px;padding-top:12px;font-size:3rem"></h3>

前台js代码
ajax请求后台在前端自动更新

var server_time = 0;
    getServerTime()

    //获取服务器时间戳
    function getServerTime() {
        $.ajax("/DigitalBoard/getServerTime", {
            async: true,//请求是否异步
            data: "xml",//服务器返回格式
            type: 'post',//HTTP请求类型 
            success: function (response) { //回调函数,result,返回值    
                var json = response
                server_time = parseFloat(json);  //注意:这里要转化成float类型
            },
            error: function (xhr, type, errorThrown) { //异常处理; console.log(type);
            }
        });
    }
    //实时显示时间
    setInterval(
        function () {
            $("#sys-local-time").html(getTime());
            server_time =  server_time + 1000;
        }, 1000
    );
    
    //获取当前时间
    function getTime() {
       // debugger
        var time = new Date(server_time);
        var y = time.getFullYear();
        var m = time.getMonth() + 1;
        var d = time.getDate();
        var h = time.getHours();
        var min = time.getMinutes();
        var s = time.getSeconds();
        m = m < 10 ? (m = "0" + m) : m;
        d = d < 10 ? (d = "0" + d) : d;
        h = h < 10 ? (h = "0" + h) : h;
        min = min < 10 ? (min = "0" + min) : min;
        s = s < 10 ? (s = "0" + s) : s; return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + s;
    }
    
    //每60s刷新一次时间 减少误差
    setInterval(
        function () {
            getServerTime();    //获取服务器时间戳方法
        }, 60000
    );

你可能感兴趣的:(Web,C#)