ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

后端返回S计时算出当前的时间与开始计时的时间的时间差并开启计时

2020-08-11 11:02:28  阅读:220  来源: 互联网

标签:10 时间差 60 item 时间 result 计时 date let


 

 

 

 

 

 再搞一份方便复制,以后可能还会遇到

 

 

 

 

this.videoList.forEach((item, index) =>{
temp.data.forEach((items, indexs) =>{
if(items.id == item.id){
item.recTime=this.getData(items.current_time,items.start_time)

item.startTime=this.getMsData(items.start_time)

this.readyTimer(item.recTime,index)
}
item.recState = items.id === item.id ? true : false
})
})

 

/**
* 毫秒转时间
* */
getData(data,data2) {
// 现在的时间/开始的时间
let result = data - data2;
let h = Math.floor(result / 3600) < 10 ? '0' + Math.floor(result / 3600) : Math.floor(result / 3600)

 

let m = Math.floor((result / 60 % 60)) < 10 ? '0' + Math.floor((result / 60 % 60)) : Math.floor((result / 60 % 60))
let s = Math.floor((result % 60)) < 10 ? '0' + Math.floor((result % 60)) : Math.floor((result % 60))

result = `${h}:${m}:${s}`
return result

},

getMsData(timestamp){
let date = new Date(timestamp*1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = date.getFullYear() + '-';
let M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';

let D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate()) + ' ';
let h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':';
let m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) + ':';

let s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds());

let strDate = Y+M+D+h+m+s;
return `开始录制时间: ${strDate}`;
},

toDub(n) { //补0操作
if (n < 10) {
return "0" + n;
} else {
return "" + n;
}
},

/**
* 定时器
* */
readyTimer(val,i){
let timer=val.split(':');
let h = parseInt(timer[0]);
let m = parseInt(timer[1]);
let s = parseInt(timer[2]);

let str= val;
let ms = 0;
if(h=='00')h=0
if(m=='00')m=0
if(s=='00')s=0
let item = this.videoList[i];
if(item.newTime){
clearInterval(item.newTime)
}

this.$set( item,'newTime','');
this.$set( item,'recTime',str);
this.$set( item,'ms',ms);
this.$set( item,'second',s);
this.$set( item,'minute',m);
this.$set( item,'hour',h);

return item.newTime = setInterval(()=>{
item.ms = item.ms +50 //毫秒
if (item.ms >=1000) {
item.ms = 0
item.second =item.second +1 //秒
}

if (item.second >=60) {
item.second =0
item.minute =item.minute +1 //分钟
}
if (item.minute >=60) {
item.minute =0
item.hour =item.hour +1 //小时
}

item.recTime = this.toDub(item.hour) +':' +this.toDub(item.minute) +':' +this.toDub(item.second);
},50);
},

 

标签:10,时间差,60,item,时间,result,计时,date,let
来源: https://www.cnblogs.com/77yf/p/13474281.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有