JavaScript NTP时间

前端之家收集整理的这篇文章主要介绍了JavaScript NTP时间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在写一个计数脚本,计算一个旧日期和今天之间的时间.
一切都运行良好,直到我在计算机上测试错误的日期,并看到结果.
所以我找到了一种通过 http://json-time.appspot.com/time.json获取NTP时间的方法.
问题是我需要每毫秒的当前时间,因为我想计算毫秒,但是它不可能每秒钟发送NTP服务器的请求.
这是一些示例代码,看看我在写什么
var today;
        $(document).ready(function(){

            $.data = function(success){
                $.get("http://json-time.appspot.com/time.json?callback=?",function(response){
                    success(new Date(response.datetime));
                },"json");
            };
        });

        function update(){
            var start = new Date("March 25,2011 17:00:00");
            //var today = new Date();
            $.data(function(time){
                today = time;
            });
            var bla = today.getTime() - start.getTime();
            $("#milliseconds").text(bla);
        }

        setInterval("update()",1);

解决方法

首先,JS调度程序具有一定的粒度 – 也就是说,您可以请求一个小于20毫秒的间隔,但是它不会立即触发 – 您可以看到20个事件每20ms触发一次.

其次,即使可以这样做,这不是一个好主意:每个使用这个脚本的每台电脑每秒要做1000次请求.即使客户端和他们的连接可以处理这一点,这也是JSON服务器的DDoS.

你可以做的是这样的:

>从JSON-NTP(一次)获取时间,这将是一个Date>获得当地时间(一次),这将是一个日期计算NTP与本地时间(一次)之间的差异,这可能是本地时间关闭的毫秒数>为每次计算,考虑差异

原文链接:https://www.f2er.com/js/155556.html

猜你在找的JavaScript相关文章