最近项目做一个答题活动, 需要所有用户统一时间并开始答题,

为了防止每个用户的时间不一样,所以需要从网络上获取时间,以此来校准

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

网站倒计时使用服务器时间,根据服务器时间校准倒计时时间相关推荐

  1. 网站服务器时间秒杀,Javascript实现商品秒杀倒计时(时间与服务器时间同步)...

    现在有很多网站都在做秒杀商品,而这其中有一个很重要的环节就是倒计时. 关于倒计时,有下面几点需要注意: 1.应该使用服务器时间而不是本地时间(本地时间存在时区不同.用户自行设置等问题). 2.要考虑网 ...

  2. java秒杀时间与服务器时间_Javascript实现秒杀倒计时(时间与服务器时间同步)...

    现在有很多网站都在做秒杀商品,而这其中有一个很重要的环节就是倒计时. 关于倒计时,有下面几点需要注意: 1.应该使用服务器时间而不是本地时间(本地时间存在时区不同.用户自行设置等问题). 2.要考虑网 ...

  3. Javascript实现秒杀倒计时(时间与服务器时间同步)

    转自: http://hi.baidu.com/flondon/item/04e89ece8f5ecf0d0ad93a98 Javascript实现秒杀倒计时(时间与服务器同步) 现在有很多网站都在做 ...

  4. Javascript实现商品秒杀倒计时(时间与服务器时间同步)

    在一些购物商城经常看到有很多商品做秒杀活动,也就是倒计时,本篇文章给大家介绍Javascript实现商品秒杀倒计时(时间与服务器时间同步),需要的朋友可以了解下 现在有很多网站都在做秒杀商品,而这其中 ...

  5. js网站服务器时间,js获取本地时间、服务器时间、记时

    js获取本地时间.服务器时间.倒计时 untitled get=function (id){return document.getElementById(id)} if(document.all){ ...

  6. 12306网站服务器时间限制,12306网上订票时间限制

    晚上12点之后可以在12306网站订购火车票吗?12306网上订票有时间限制吗?12306网上订票有哪些注意事项呢?今天小编就为大家介绍"12306网上订票时间限制"的相关信息吧. ...

  7. 时间更新服务器推荐 - NTP时间同步服务器集群:ntp.api.bz

    时间更新服务,是微软操作系统windows中自带的一个和世界时间自动保持同步更新的服务,平常大家可能关注的不多,但有时候如果需要寻找准确时间的时候,避免去网站上搜索"格林尼治世界" ...

  8. 当前系统时间与服务器时间,操作系统时间和服务器时间

    操作系统时间和服务器时间 内容精选 换一换 文章目录 计算机操作系统(一)1 操作系统的目标和作用1.1 操作系统的目标 1.2 操作系统的目标 2 操作系统的发展历程2.1 未配置操作系统的计算机2 ...

  9. Android时间与服务器同步方案

    转自: https://blog.csdn.net/qinci/article/details/70666631这个的吧?转发请注明来源吧?Android时间与服务器同步方法_飛舞的青春的博客-CSD ...

最新文章

  1. EF-Linq将查询结果转换为Liststring
  2. spring mvc文件上传小例子
  3. apache忽略文件后缀
  4. tomact+apache实现web网页动静结合
  5. 成功解决pml.Simple derived_col_names[int(obj[‘split_feature‘])],\ IndexError: list index out of range
  6. java元婴期(17)----java进阶(spring(1)----spring基本概念IOC)
  7. java商城管理系统ssm_基于SSM+MYSQL的一个小型商城网站后台管理系统
  8. bzoj2375 疯狂的涂色
  9. 女孩常用双关语--男生进
  10. purcell的emacs配置中的自动补全功能开启
  11. python矩阵连乘_动态规划之矩阵连乘问题Python实现方法
  12. tableu画各类别占比趋势图
  13. ips细胞治疗糖尿病研究进展综述
  14. 如何制作一个横版格斗过关游戏_地下城与勇士M电脑版,如何在模拟器上使用键鼠操作...
  15. Java-茴香豆研究(一)
  16. 游戏十连模拟器(html版)
  17. 如何将html转成PDF文件
  18. ES6对数组进行正序和倒序排列
  19. 7个适用于所有Web开发人员的设计资源网站
  20. 宗镜录略讲——南怀瑾老师——系列9

热门文章

  1. 一次kubenetes的rook-ceph创建pv失败的故障排查
  2. 物联网的通信技术以及Wi-Fi、一键配网技术、BLE、GPRS(2G)、LTE-Cat1 、NB-IoT简介
  3. MANIFEST.MF是个什么?
  4. UCOS II移植到STM32F103开发板
  5. 【Jboss EAP】初识JBoss EAP
  6. mysql的LRU队列详解
  7. vue3相比vue2效率提升在哪些方面?
  8. 电脑的windows键已被停用解决方法
  9. 你知道吗?希腊神话人物表
  10. HTML 锁定表格首行首列、拖拽表格列宽