javascript实现获取服务器时间


Posted in Javascript onMay 19, 2015

JS是在客户端运行的脚本,而不是运行在服务器上,通常来说,通过JS获取时间的时候获取到的时间是访客本地电脑上的时间,为了让网页上的时间不因访客电脑差异而不同,我们有必要直接JS获取服务器时间。

下面是完整的js获取服务器时间代码,是使用javascript获取服务器时间的完整实例,js动态刷新服务器时间。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>AJAX获取服务器时间</title>
<script type="text/javascript">
    /*
     * ajax 函数,处理 ajax 请求
     * @param function callback 回调函数
     * @因为要和服务器交互,所以必须在服务器环境运行,不能在硬盘上直接打开
    */
    function ajax(callback){
        if(typeof callback!='function') return;
        var ajaxObject;
        try{
            ajaxObject=new XMLHttpRequest();
        }catch(e){
            try{
                ajaxObject=new ActiveXObject('Microsoft.XMLHTTP');
            }catch(e){
            }
        }
        if(!ajaxObject) return;
        if(ajaxObject.overrideMimeType){
            ajaxObject.overrideMimeType('text/html');
        }
        //location.href可以换成其他url,但必须是同一个站点的链接,并且文件存在
        ajaxObject.open('get',location.href);
        ajaxObject.send(null);
        ajaxObject.onreadystatechange=function(){
            if(ajaxObject.readyState==4){
                if(ajaxObject.status==200){
                    callback(ajaxObject);
                }
            }
        };
    }
    /*
     * 获取时间并动态刷新
    */
    function getTime(){
        ajax(
            function(ao){
                //只需要AJAX一次,将服务器时间获取后以毫米为单位保存到一个变量中
                _timestamp=Date.parse(ao.getResponseHeader('Date'));
                _timestamp=_timestamp.toString().match(/^\d$/)?_timestamp:new Date().getTime();
                //设置定时器每过一秒动态刷新一次时间
                setInterval(
                    function(){
                        //这里可以自定义时间显示格式
                        document.getElementById('_timer').innerHTML=new Date(_timestamp).toLocaleString();
                        _timestamp+=1000;
                    },
                    1000
                );
            }
        );
    }
    window.onload=getTime;
</script>
</head>
<body>
    <div id="_timer">正在获取服务器时间……</div>
</body>
</html>

思路分析:

服务器端时间这个概念很模糊。因为服务器端毕竟可能不是由一台机器组成的。最简单的情况,也分web服务器和db服务器。你说的究竟是哪一种

如果是web服务器。
那么直接在java或者.net那头new Date()就ok了
不要在网页中的<script>里面new Date,那个只是客户端时间

如果是db服务器。
需要连接到数据库,通过sql来取得。比如oracle的就是select sysdate from dual。

示例:

如果js要取得这样的服务器端时间,方法有很多。思路大体差不多。
1.
<script type="text/javascript">
    var date = <%=date(刚才在服务器端取得的时间,内容取得方法上面分析过了)%>
</script>

2.<script type="text/javascript" src=".../ScriptServlet"></script>
将Servlet的返回流中写入一个js文件,使其当中的var nowDate = 服务器端时间

3.ajax,这个就不说了,网上一大堆

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
小议javascript 设计模式 推荐
Oct 28 Javascript
js获取和设置属性的方法
Feb 20 Javascript
JS实现从连接中获取youtube的key实例
Jul 02 Javascript
浅谈jquery的map()和each()方法
Jun 12 Javascript
require.js配合插件text.js实现最简单的单页应用程序
Jul 12 Javascript
AngularJS 指令的交互详解及实例代码
Sep 14 Javascript
jQuery电话号码验证实例
Jan 05 Javascript
jQuery插件MovingBoxes实现左右滑动中间放大图片效果
Feb 28 Javascript
JavaScript瀑布流布局实现代码
May 06 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
Sep 12 Javascript
小程序实现点击tab切换左右滑动
Nov 16 Javascript
js实现弹框效果
Mar 24 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
May 19 #Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
May 19 #Javascript
7个有用的jQuery代码片段分享
May 19 #Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
May 19 #Javascript
javascript检测两个数组是否相似
May 19 #Javascript
10条建议帮助你创建更好的jQuery插件
May 18 #Javascript
原生js实现的贪吃蛇网页版游戏完整实例
May 18 #Javascript
You might like
php上传、管理照片示例
2006/10/09 PHP
PHP 向右侧拉菜单实现代码,测试使用中
2009/11/03 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
2013/07/02 PHP
PHP Global定义全局变量使用说明
2013/08/15 PHP
解密ThinkPHP3.1.2版本之模板继承
2014/06/19 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
详解WordPress开发中的get_post与get_posts函数使用
2016/01/04 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
2014/10/30 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
通过原生JS实现为元素添加事件的方法
2016/11/23 Javascript
jQuery DOM节点的遍历方法小结
2017/08/15 jQuery
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
python版飞机大战代码分享
2018/11/20 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
2020/04/02 Python
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
2014/05/07 HTML / CSS
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
土耳其玩具商店:Toyzz Shop
2019/08/02 全球购物
客服实习的个人自我鉴定
2013/10/20 职场文书
领导检查欢迎词
2014/01/14 职场文书
英语专业学生个人求职信
2014/01/28 职场文书
初一学生期末评语
2014/04/24 职场文书
竞聘演讲稿
2014/04/24 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
2019销售早会主持词
2019/06/27 职场文书
如何用threejs实现实时多边形折射
2021/05/07 Javascript