客户端和服务器的时间差
创作时间:
作者:
@小白创作中心
客户端和服务器的时间差
引用
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)
热门推荐
运动神经元损伤治疗:第三代神经修复技术与智能康复的融合探索
为何医生让他把氨氯地平换成缬沙坦?药师详解两类降压药的好与坏
化学的魅力:如何识别和利用分子间的力量
“道路”的认定和意义
新上线的“交管12123”APP单位用户版如何使用?
原子半径分类及影响因素
如果英语不好,如何准备英文自我介绍
空气滤芯跟空调滤芯有何区别?多久更换一次,老司机的经验告诉你
揭秘肺癌患者的饮食“雷区”,都知道哪些?
马竞11次逆袭历史叫板皇马!巴黎仅16%奇迹,数据预测or玄学翻盘
马竞11次逆袭历史叫板皇马!巴黎仅16%奇迹,数据预测or玄学翻盘
杭州夜盲症医院重磅发布:研究成果与诊疗进展报告揭晓!
清洗茶垢最有效办法
高等数学笔记:定积分的应用
苯丙酮尿症俗称叫什么,严不严重
费马大定理-模形式
真空马桶是什么马桶?真空马桶和普通马桶的区别在哪?
三峡大坝真的能防核弹吗?如果三峡大坝被毁,将会带来哪些影响?
企业开发APP时需要考虑的几个问题
外国语言文学类人才培养模式
外国语言文学专业学什么 课程如何安排
宠物陪伴对老年人心理健康的作用有多大?
程序员 VS 黑客,未来该如何选择?
为什么,《大明王朝1566》评价如此之高?
泥螺的功效与作用
网络准入是什么?三种常见的网络准入解决方案分享(全网最详细的网络准入介绍)
尿素维E乳膏的功效
太详细了!教学成果奖申报及材料撰写详解
太详细了!教学成果奖申报及材料撰写详解
自考刑法试题选择题答案解析与法律适用分析