网站倒计时使用服务器时间,根据服务器时间校准倒计时时间
最近项目做一个答题活动, 需要所有用户统一时间并开始答题,
为了防止每个用户的时间不一样,所以需要从网络上获取时间,以此来校准
data() {
return {
countDownList: '00:00', // 倒计时时间
actEndTime: '2020-06-22 12:00:00', // 指定的时间
setTime: '' // 定时器
}
},
async getTT() {
// 请求获取网络时间
let res = await axios.getTime()
// res返回的是一个 字符串时间戳 1592795715393 所以需要转为时间对象
// console.log(new Date(parseInt(res, 10)).getTime() )
// 计算本地时间和 网络时间误差: 网络时间 - 本地时间
var num = new Date(parseInt(res, 10)).getTime() - new Date().getTime()
this.countDown(num)
},
// 倒计时函数
countDown(now) {
this.setTime = setInterval(() => {
// 获取当前时间,同时得到活动结束时间数组
let newTime = new Date().getTime();
// 对结束时间进行处理渲染到页面
// .replace(/\s/g,'T') 兼容safari 浏览器和ios , 他们没有其他浏览器的兼容功能 要接收 2020-06-22T12:00:00 的时间格式
let endTime = new Date(this.actEndTime.replace(/\s/g,'T')).getTime();
let obj = null;
// 如果活动未结束,对时间进行处理
if (endTime - newTime - now > 0) {
// 倒计时时间 = 结束时间 - (本地时间 + 时间误差)
let time = (endTime - newTime - now) / 1000;
// 获取天、时、分、秒
let day = parseInt(time / (60 * 60 * 24),10);
let hou = parseInt(time % (60 * 60 * 24) / 3600,10);
let min = parseInt(time % (60 * 60 * 24) % 3600 / 60,10);
let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60,10);
obj = {
day: this.timeFormat(day),
hou: this.timeFormat(hou),
min: this.timeFormat(min),
sec: this.timeFormat(sec)
};
} else { // 活动已结束,全部设置为'00'
obj = {
day: '00',
hou: '00',
min: '00',
sec: '00'
};
clearInterval(this.setTime);
}
// this.countDownList = obj.day +'天'+obj.hou+'时'+ obj.min + '分' + obj.sec + '秒';
this.countDownList = obj.min + ':' + obj.sec ;
}, 1000);
},
timeFormat(param) {
return param < 10 ? '0' + param : param;
}
这需要从后台获取服务器的当前时间, 需要后台给出一个接口
标签:60,00,obj,校准,时间,倒计时,let,服务器,10
来源: https://blog.csdn.net/weixin_45289067/article/details/106898482
网站倒计时使用服务器时间,根据服务器时间校准倒计时时间相关推荐
- 网站服务器时间秒杀,Javascript实现商品秒杀倒计时(时间与服务器时间同步)...
现在有很多网站都在做秒杀商品,而这其中有一个很重要的环节就是倒计时. 关于倒计时,有下面几点需要注意: 1.应该使用服务器时间而不是本地时间(本地时间存在时区不同.用户自行设置等问题). 2.要考虑网 ...
- java秒杀时间与服务器时间_Javascript实现秒杀倒计时(时间与服务器时间同步)...
现在有很多网站都在做秒杀商品,而这其中有一个很重要的环节就是倒计时. 关于倒计时,有下面几点需要注意: 1.应该使用服务器时间而不是本地时间(本地时间存在时区不同.用户自行设置等问题). 2.要考虑网 ...
- Javascript实现秒杀倒计时(时间与服务器时间同步)
转自: http://hi.baidu.com/flondon/item/04e89ece8f5ecf0d0ad93a98 Javascript实现秒杀倒计时(时间与服务器同步) 现在有很多网站都在做 ...
- Javascript实现商品秒杀倒计时(时间与服务器时间同步)
在一些购物商城经常看到有很多商品做秒杀活动,也就是倒计时,本篇文章给大家介绍Javascript实现商品秒杀倒计时(时间与服务器时间同步),需要的朋友可以了解下 现在有很多网站都在做秒杀商品,而这其中 ...
- js网站服务器时间,js获取本地时间、服务器时间、记时
js获取本地时间.服务器时间.倒计时 untitled get=function (id){return document.getElementById(id)} if(document.all){ ...
- 12306网站服务器时间限制,12306网上订票时间限制
晚上12点之后可以在12306网站订购火车票吗?12306网上订票有时间限制吗?12306网上订票有哪些注意事项呢?今天小编就为大家介绍"12306网上订票时间限制"的相关信息吧. ...
- 时间更新服务器推荐 - NTP时间同步服务器集群:ntp.api.bz
时间更新服务,是微软操作系统windows中自带的一个和世界时间自动保持同步更新的服务,平常大家可能关注的不多,但有时候如果需要寻找准确时间的时候,避免去网站上搜索"格林尼治世界" ...
- 当前系统时间与服务器时间,操作系统时间和服务器时间
操作系统时间和服务器时间 内容精选 换一换 文章目录 计算机操作系统(一)1 操作系统的目标和作用1.1 操作系统的目标 1.2 操作系统的目标 2 操作系统的发展历程2.1 未配置操作系统的计算机2 ...
- Android时间与服务器同步方案
转自: https://blog.csdn.net/qinci/article/details/70666631这个的吧?转发请注明来源吧?Android时间与服务器同步方法_飛舞的青春的博客-CSD ...
最新文章
- EF-Linq将查询结果转换为Liststring
- spring mvc文件上传小例子
- apache忽略文件后缀
- tomact+apache实现web网页动静结合
- 成功解决pml.Simple derived_col_names[int(obj[‘split_feature‘])],\ IndexError: list index out of range
- java元婴期(17)----java进阶(spring(1)----spring基本概念IOC)
- java商城管理系统ssm_基于SSM+MYSQL的一个小型商城网站后台管理系统
- bzoj2375 疯狂的涂色
- 女孩常用双关语--男生进
- purcell的emacs配置中的自动补全功能开启
- python矩阵连乘_动态规划之矩阵连乘问题Python实现方法
- tableu画各类别占比趋势图
- ips细胞治疗糖尿病研究进展综述
- 如何制作一个横版格斗过关游戏_地下城与勇士M电脑版,如何在模拟器上使用键鼠操作...
- Java-茴香豆研究(一)
- 游戏十连模拟器(html版)
- 如何将html转成PDF文件
- ES6对数组进行正序和倒序排列
- 7个适用于所有Web开发人员的设计资源网站
- 宗镜录略讲——南怀瑾老师——系列9