1.时间的换算
function timer (DateStr){
var date = {};
//结束时间
var endDate = new Date(DateStr);
//当前时间
var nowDate = new Date();
//相差的总秒数
var totalSeconds = parseInt((endDate - nowDate) / 1000);
//天数
var days = Math.floor(totalSeconds / (60 * 60 * 24));
//取模(余数)
var modulo = totalSeconds % (60 * 60 * 24);
//小时数
var hours = Math.floor(modulo / (60 * 60));
modulo = modulo % (60 * 60);
//分钟
var minutes = Math.floor(modulo / 60);
//秒
var seconds = modulo % 60;
date = {
days: days,
hours: hours,
minutes: minutes,
seconds: seconds,
}
return date
}
2.倒计时
function daojishi(array){
var set = setInterval(function() {
array.map((v, index) => {
var date = timer (v.time);
var day = date.days;
var hours = date.hours;
var min = date.minutes;
var sec = date.seconds;
//判断时间有没有为0
if (date.days <= 0 && date.hours <= 0 && date.minutes <= 0 && date.seconds <= 0) {
v.str = "还剩:0天00小时00分钟00秒"
//设置一个标志,如果全部为0,就可以关闭计时器
v.realtime = 0;
let flag = array.every((val, ind) => {
return val.realtime == 0
})
if (flag) {
clearInterval(set)
}
} else {
if (hours < 10) {
hours = '0' + hours;
}
if (min < 10) {
min = '0' + min;
}
if (sec < 10) {
sec = '0' + sec;
}
v.str = "还剩:" + date.days + "天" + hours + "小时" + min + "分钟" + sec + "秒"
}
})
// 这里拿到的array就会时刻更新
console.log(array)
return array;
}, 1000);
}
var arr =[{ time: '2019-08-16 17:19:00' }, {time: '2019-08-16 17:20:00'}, { time: '2019-08-16 17:21:00' }];
daojishi(arr);