Javascript 客户端实时显示服务器时间

<!doctype html>
<html lang="zh-cn">
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" type="text/javascript"></script>
</head>
<body>
    <script type="text/javascript">
        var clientTime = new Date();
        var serverTime = { n: clientTime.getFullYear(), y: clientTime.getMonth(), r: clientTime.getDate(), h: clientTime.getHours(), m: clientTime.getMinutes(), s: clientTime.getSeconds(), xq: clientTime.getDay().toString() };
        var serverTimeStr = { n: clientTime.getFullYear(), y: clientTime.getMonth(), r: clientTime.getDate(), h: clientTime.getHours().toString(), m: clientTime.getMinutes().toString(), s: clientTime.getSeconds().toString(), xq: clientTime.getDay().toString() };
        //    var checkFlag = 0;//为了减小误差,可以设置该变量,比如当checkFlag到达600时,重新从服务器取得时间

        function formatServerTime() {
            //        checkFlag++;
            if (serverTime.s < 59) {//60s进制
                serverTime.s++;
            }
            else {
                serverTime.s = 0;
                if (serverTime.m < 59) {//60m进制
                    serverTime.m++;
                }
                else {
                    serverTime.m = 0;
                    if (serverTime.h < 23) {//24h进制
                        serverTime.h++;
                    }
                    else {
                        serverTime.h = 0;
                    }
                }
            }
            //时
            if (serverTime.h < 10)
                serverTimeStr.h = "0" + serverTime.h.toString();
            else
                serverTimeStr.h = serverTime.h.toString();
            //分
            if (serverTime.m < 10)
                serverTimeStr.m = "0" + serverTime.m.toString();
            else
                serverTimeStr.m = serverTime.m.toString();
            //秒
            if (serverTime.s < 10)
                serverTimeStr.s = "0" + serverTime.s.toString();
            else
                serverTimeStr.s = serverTime.s.toString();
            //月
            if (serverTimeStr.y < 10)
                serverTimeStr.y = "0" + serverTime.y.toString();
            else
                serverTimeStr.y = serverTime.y.toString();
            //日
            if (serverTime.r < 10)
                serverTimeStr.r = "0" + serverTime.r.toString();
            else
                serverTimeStr.r = serverTime.r.toString();
            //星期
            serverTimeStr.xq = serverTime.xq.toString();

            $("#divTimes").html(serverTime.n.toString() + "-" + serverTimeStr.y + "-" + serverTimeStr.r + " " + serverTimeStr.h + ":" + serverTimeStr.m + ":" + serverTimeStr.s + " " + serverTimeStr.xq);

            //        if (checkFlag>600){
            //            checkFlag=0;
            //            getServerTime();
            //            return;
            //        }
            //        else

            window.setTimeout("formatServerTime()", 1000);

        }

        function getServerTime() {
            //var myurl = "/MyTimer.aspx?rnd=" + Math.random();//该处为获取服务器时间的地址,返回json数据,此处格式为 [{"h":10,"m":25,"s":9}]
            $.ajax({
                type: "GET",
                url: "MyTimer.aspx",
                complete: function (data, textStatus) {
                    serverTime = eval("(" + data.responseText + ")");
                    formatServerTime();
                },
                error: function (e) {

                }
            });
        }

        $(function () {

            getServerTime();
        })
    </script>
    <div id="divTimes">
        loading......</div>
</body>
</html>

  

string date = DateTime.Now.ToString("yyyy,MM,dd,HH,mm,ss,dddd");
            string[] dateArr = date.Split(‘,‘);
            date = string.Format("{{‘n‘:{0},‘y‘:{1},‘r‘:{2},‘h‘:{3},‘m‘:{4},‘s‘:{5},‘xq‘:‘{6}‘}}", dateArr[0], dateArr[1], dateArr[2], dateArr[3], dateArr[4], dateArr[5], dateArr[6]);
            Response.Write(date);
            Response.End();

  

时间: 2024-12-08 20:49:38

Javascript 客户端实时显示服务器时间的相关文章

实时显示系统时间

1.概述 在浏览很多网站时,都会发现在网站中加入了显示当前系统时间的功能,在网页中显示当前系统时间,不仅可以方便浏览者掌握当前时间,而且还美化了网页. 2.技术要点 利用Date对象来实现.首先创建一个表示当前系统时间的Date()对象,然后通过Date对象的getXxx()方法获得当前系统时间的年.月.日.小时.分.秒和星期的值,接下来将获得的这些值组合成一个日期时间字符串,并将日期时间字符串设置成为<div>标签的内容,最后通过window对象的setTimeout()函数每隔1秒调用一个

javascript能够实时变化的时间代码

javascript能够实时变化的时间代码:在很多网站都有这样的功能,能够显示当前的事件,这样或许能够增加美观度,当然更加能够提高网页的人性化程度,能够让给用户实时了解当前时间,这样能够给网站增色不少.下面分享一段能够获取当前时间,并且能够进行格式化的代码: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset

ruby on rails 网页上如何实时显示服务器网速?

要在网页上实时显示网速,需要实时请求服务器(由于许多浏览器不支持web socket,这里还是用ajax轮询的方式),这里的服务器以centos为例,使用sysstat,不同的服务器,可能需要不同的软件支持. 一.centos里安装sysstat yum  install sysstat 安装完成后,使用sar -V查看 二.sar的使用 首先使用ifconfig查看使用的网上,确认一个要查看的网卡的名称,这里我使用的是eth0 然后使用sar获取网速: sar -n DEV 1 1 | gre

二、Java Web -- 使用servlet显示服务器时间

一.在项目下创建如下包.及servlet 生成servlet如下: @WebServlet(name="TimmerServlet" ,urlPatterns = "/showtime.do" ) public class TimmerServlet extends HttpServlet { private static final long serialVersionUID = 1L; public TimmerServlet() { super(); } pr

js实时显示系统时间

刚刚在做后台页面最上面要动态显示时间刚写了这个代码 将这段代码加入<head></head> <!--时间显示代码 --><script>function clockon(contentDate){    var now = new Date();    var year = now.getYear();    var month = now.getMonth();    var date = now.getDate();    var day = now.

Angular实时显示日期时间

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>AngularJS 内置服务</title> <script src='./angular.min.js'></script> </head> <body ng-app="App"> <

html页面显示服务器时间

全局变量 var lblTimer; var d; ready事件里面写 lblTimer = $("#lbltimer"); d = new Date('<%=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")%>'); lblTimer.children("span").text(getStr(d)) setInterval("setTimer()", 1000); fun

客户端操作判断以服务器时间为准

有一个道具是否过期的需求, 界面上实时改变时钟的状态. 1. 绿色没有过期 2. 红色已经过期 客户端时间: 2016-1-15-17:50; 服务器时间: 2016-1-15-17:51; 一旦道具时间已经过期了.我们就需要把时钟状态改成红色.   解决方案:        1. 使用客户端时间,判断道具是否过期. 忽略这个时间戳        2. 每次判断的时候,获取服务器时间,查看道具是否已经过期.        3. 在登录游戏的时候                    1. 获取一

Unity3D客户端实时同步

在玩网络游戏的时候,多人在线,多人组队,多对多PK等等,这些我们经常可以互相看到对方在移动,我们通常称这个为实时同步,有时,我们会看到对方忽然有被拉回的感觉,这个称谓延时操作,就是说客户端和服务器端时间不一致或者是网络不顺畅造成的,接下来我给大家介绍一下在客户端如何实现实时同步. 首先我们要知道玩家周围的其他玩家或者怪物,NPC是如何刷出来的,在这里涉及到服务器的实现,服务器会模拟客户端的场景,也在服务器的GameServer里面生成一个跟客户端同样大小的地图,它里面有个九屏的概念,什么是九屏,