const formatTime = (date, type) => { const year = date.getFullYear(); const month = date.getMonth() + 1; const day = date.getDate(); const hour = date.getHours(); const minute = date.getMinutes(); const second = date.getSeconds(); if (type == 1) { // 返回年月日 return `${[year, month, day].map(formatNumber).join('-')}`; } else { // 返回年月日时分秒 return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`; } }; const formatNumber = (n) => { n = n.toString(); return n[1] ? n : `0${n}`; }; // 相差的天数 const computeDays = (createTimestamp, currentTimestmap) => { let subTime = currentTimestmap - createTimestamp; // 毫秒级(注意传的参数是否为毫秒级) // 相差的天数 let days = Math.floor(subTime / (24 * 3600 * 1000)); return days; }; // 倒计时 const daojishi = function (val1, mins) { // 开始时间 + 过期时间 = 最后的时间 // 最后的时间- 动态的当前时间 = 倒计时 let that = this; let now = new Date(val1.replace(/-/g, '/')); //处理开始时间 let minutes = Number(mins); // mins 分钟数 let end = now.setMinutes(now.getMinutes() + minutes); // 计算最后时间 (调整过的日期的毫秒表示) let time_now = new Date().getTime(); //当前时间 let msec = end - time_now; // 最后时间-当前时间 if (msec > 0) { let day = parseInt(msec / 1000 / 60 / 60 / 24); let hr = parseInt((msec / 1000 / 60 / 60) % 24); let min = parseInt((msec / 1000 / 60) % 60); let sec = parseInt((msec / 1000) % 60); day = day; hr = hr > 9 ? hr : '0' + hr; min = min > 9 ? min : '0' + min; sec = sec > 9 ? sec : '0' + sec; return { timeStr: min + '分' + sec + '秒', isend: false }; } else { return { timeStr: '', isend: true }; } }; module.exports = { formatTime, computeDays, daojishi };