需求是这样的,我们的页面有一个需求,要获取当前时间并显示在页面上一直刷新。
之前的话是直接前端获取当前机器的本地时间,但这么写有几个问题,第一,有些机器根本没开启时间校准,偶尔开机,显示的时间都还是几年前的,实际碰到过。
第二,如果跨时区了,这个时间还是要以服务器的时间为准。
所以,这个时间需要从后台获取,但后台获取的话,这个时间因为网络问题,总是会有延迟,比如现在服务器以及13点整了,但因为延迟,客户端的时间少了10来秒,咋解决呢?
需求是这样的,我们的页面有一个需求,要获取当前时间并显示在页面上一直刷新。
之前的话是直接前端获取当前机器的本地时间,但这么写有几个问题,第一,有些机器根本没开启时间校准,偶尔开机,显示的时间都还是几年前的,实际碰到过。
第二,如果跨时区了,这个时间还是要以服务器的时间为准。
所以,这个时间需要从后台获取,但后台获取的话,这个时间因为网络问题,总是会有延迟,比如现在服务器以及13点整了,但因为延迟,客户端的时间少了10来秒,咋解决呢?
1楼的方案是可以的,如果要消除误差,可以在发送请求前,记录时间,数据返回后获取一个时间。这样两个值一减就知道网络耗时了。服务器返回的时间加上网络耗时,就是当前的真正时间。
校正频率可以根据情况处理比如1分钟一次。
js 定时循环用server time校正