客户端和服务器的时间差
创作时间:
作者:
@小白创作中心
客户端和服务器的时间差
引用
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)
热门推荐
眼睛红肿瘙痒?小心结膜炎!远离过敏原,做好4个预防!
经济腹地如何进行描述?这种描述对经济发展有何作用?
了解天蝎座的性格和命运解析
貔貅适合什么命的人佩戴
什么是电池绝缘
锂电池组装及维修的关键:电芯一致性的重要性
4000月薪供车难不难?4000月薪买什么车
风水学入门,探索环境能量的奥秘
徐州市文物古迹介绍
城市空气质量监测解决方案功能与应用
克霉唑喷雾:防治皮肤真菌的必备良药
克霉唑喷雾:防治皮肤真菌的必备良药
我们分析了9种牛奶之后,帮你选出了最适合那一杯
A类和B类不确定度计算公式是什么?什么时候用A类不确定度或者B类
孕妇可以吃酸辣粉吗
孕妇能不能吃酸辣粉?专业解析与食用建议
副厂镜头推荐:性价比高,性能不错才是王道
股票破位是什么意思?如何判断是不是破位了?
股票30日线怎么看:从查看到应用的全面指南
ESP32原生开发——MAX98375食用指南 1I2S总线介绍
I2S协议解析
公摊面积多少属于正常范围
以前买的黄金现在卖需要交税吗
初三祭祖,莫让火患“添堵”!
茶与烧烤的完美搭配探索
拆迁补偿怎么查?8种途径+法律法规详解
全面解析:如何详尽读懂血液检验报告单及其各项指标含义
广西桂林自驾游5天深度攻略及实用Tips
泉州:非遗遇上春日踏青,传统文化融入诗意生活
买卖合同中买受人延迟支付价款,出卖人可以要求利息吗?