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

 

 

 

 

 

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

 

 

 

 

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);
},

 

posted @ 2020-08-11 10:58  雾都散了  阅读(348)  评论(0编辑  收藏  举报