客户端和服务器的时间差
创作时间:
作者:
@小白创作中心
客户端和服务器的时间差
引用
CSDN
1.
https://blog.csdn.net/id123152/article/details/144449877
在开发Web应用时,客户端和服务器之间的时间差可能会导致一些意想不到的问题。本文通过一个具体场景(工作人员入场时间显示)来说明这个问题,并提供了一个实用的解决方案。
当工作人员开始工作后,希望界面能够实时显示他已在场的时间,像这样。
按理说前端通过接口拿到工作人员的入场时间,根据
当前时间 - 入场时间
得出初始入场时间,再
setInterval
实时刷新即可。
但是如果你修改了客户端的时区,比如这样。就会发现,已在场时间为变化不定(如下图)。
这是因为服务器和客户端的时区不一致导致的。怎么解决?
其实也挺简单的,让后端在查询接口中返回服务器的当前时间(如下图),
nowTime
表示服务器当前时间,
startTime
是入场时间。
那么入场的初始时间计算如下:
客户端发起请求,获取服务器的时间戳 nowTime
客户端记录发送请求的本地时间 T_local_sent。
客户端记录接收到服务器响应的本地时间 T_local_received。
计算请求往返时间(RTT):RTT = T_local_received - T_local_sent
服务器的时间估计:T_server_adjusted = nowTime + RTT / 2
入场的初始时间 = new Datae(nowTime) + RTT / 2 - new Date(startTime)
热门推荐
文化苦旅摘抄及赏析
家电日常保养指南:延长使用寿命,保障使用安全
绝地求生17.2版本狙击枪推荐 狙击枪使用技巧分享
从科幻到现实:沉浸式LED屏幕如何改写电影产业
多种签证进度查询方法详解
坐飞机耳朵堵住了怎么疏通
长期说梦话是什么原因
晚上多梦睡眠质量差是什么原因
AI如何写代码?全面解读工具、原理与应用场景
汽车胎压psi多少正常?
轿车和SUV轮胎气压标准及季节性调整指南
击鼓催征稳驭舟 扬帆奋进勇向前
新疆2027年实行新高考:“3+1+2”选科模式详解及志愿填报指南
出生日期和星座表,十二星座出生年月日对照表
销售目标如何清晰化管理
Unity实现360度可旋转、缩放单独看模型
电脑崩溃文件未保存?五招教你恢复文档!
铂热电阻2线制与3线制的互用性分析
寿司怎么做?从基础到精致的制作指南
中国心理健康大数据出炉:哈医大团队发布全国抑郁焦虑数据
SpaceX公布首套舱外航天服,将用于1400公里高空出舱任务
双孢菇种植技术:从基质选择到东北地区种植要点
双孢菇高产栽培技术详解
19岁女孩失踪美国案件法律解析与案件追踪
一文详解缺陷检测
东京近郊一日游:从日光到轻井泽,1-2小时可达的绝美景点
许昌职业技术学院:多措并举推动体育教学改革 以体育人助力学生发展
卫生间瓷砖铺贴全攻略:六大实用技巧让装修更省心
杂气正官格女命缺火:如何调和五行以优化命理
急性肠炎跟慢性肠炎有什么区别