const yayaTime = { /** * @description 获取未来七天星期几,几号 */ weekDate(){ let date = new Date() let year = date.getFullYear() let month = date.getMonth()+1 let day = date.getDate() let nth = date.getDay()//星期几 console.log(year,month,day,nth); let xingq = ['周日','周一','周二','周三','周四','周五','周六'] console.log(`${year}-${month}-${day} ${xingq[nth]}`); }, /** * @description 将时间转换成几天前,几个月前,几小时前等 */ timeago(datetime) { if(datetime == undefined || datetime == ''){ return } var timePublish = new Date(datetime.replace(/-/gi, '/')); var timeNow = new Date(); var minute = 1000 * 60; var hour = minute * 60; var day = hour * 24; var month = day * 30; var result = "0"; var diffValue = timeNow - timePublish; var diffMonth = diffValue / month; var diffWeek = diffValue / (7 * day); var diffDay = diffValue / day; var diffHour = diffValue / hour; var diffMinute = diffValue / minute; if (diffValue < 0) { console.log('错误时间') } else if (diffDay > 1) { var year = timePublish.getFullYear(); var month = timePublish.getMonth() + 1; var date = timePublish.getDate(); var hours = timePublish.getHours(); var minutes = timePublish.getMinutes(); var seconds = timePublish.getSeconds(); if(month<=9){month = '0'+month} if(date<=9){date = '0'+date} if(hours<=9){hours = '0'+hours} if(minutes<=9){minutes = '0'+minutes} if(seconds<=9){seconds = '0'+seconds} result = year+'-'+month+'-'+date; } else if (diffMonth > 1) { result = parseInt(diffMonth) + "月前"; } else if (diffWeek > 1) { result = parseInt(diffWeek) + "周前"; } else if (diffDay > 1 ) { result = parseInt(diffDay) + "天前"; } else if (diffHour > 1) { result = parseInt(diffHour) + "小时前"; } else if (diffMinute > 1) { result = parseInt(diffMinute) + "分钟前"; } else { result = "刚刚"; } return result; }, /** * @description 时间戳===>日期 */ timestampToTime(timestamp) { var date = timestamp.toString().length==13 ? new Date(timestamp*1) : new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000 var Y = date.getFullYear(); var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1); var D = date.getDate() < 10 ? '0'+date.getDate() : date.getDate(); var h = date.getHours() < 10 ? '0'+date.getHours() : date.getHours(); var m = date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes(); var s = date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds(); return Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' +s; }, /** * @description 返回当前时间 */ returnCurrentTime(format,type) { let date = new Date(); let year = date.getFullYear(); // 年 let month = date.getMonth() + 1; // 月 let day = date.getDate(); // 日 let time = date.getHours(); // 时 let minu = date.getSeconds(); // 分 let second = date.getMinutes(); // 秒 let newTime = ''; switch (type){ case 0: newTime = `${year}${format}${month < 10? '0' + month : month}${format}${day < 10 ? '0' + day : day} ${time < 10 ? '0' + time : time}:${minu < 10 ? '0' + minu : minu}`; // 2022-03-31 16:05 break; case 1: newTime = `${year}${format}${month < 10? '0' + month : month}${format}${day < 10 ? '0' + day : day} ${time < 10 ? '0' + time : time}:${minu < 10 ? '0' + minu : minu}:${second < 10 ? '0' + second : second}`; // 2022-03-31 16:10:07 break; } return newTime; }, /** * @description 日期===>时间戳 */ timeToTimestamp(time){ var date = new Date(time); var timestamp = date.getTime();//精确到毫秒 return timestamp // var date = new Date('2014-04-23 18:55:49:123'); // 有三种方式获取 // var time1 = date.getTime();//精确到毫秒 // var time2 = date.valueOf();//精确到毫秒 // var time3 = Date.parse(date);//只能精确到秒,毫秒用000替代 // console.log(time1);//1398250549123 // console.log(time2);//1398250549123 // console.log(time3);//1398250549000 }, /** * @description 返回时间xx天xx小时xx分钟 */ returnTimeFormat(startTime,endTime){ let currentTimestamp = this.timeToTimestamp(endTime) - this.timeToTimestamp(startTime); let timeStr = ''; var day = parseInt((currentTimestamp % (1000 * 60 * 60 * 24 * 12)) / (1000 * 60 * 60 * 24)); var hours = parseInt((currentTimestamp % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var seconds = parseInt((currentTimestamp % (1000 * 60 * 60)) / (1000 * 60)); day = day < 10 ? ('0' + day) : day; hours = hours < 10 ? ('0' + hours) : hours; seconds = seconds < 10 ? ('0' + seconds) : seconds; if(day*1==0) { if(hours*1==0) { seconds*1==0 ? timeStr = 0 : timeStr = `${seconds}分钟`; } else { timeStr = `${hours}小时${seconds}分钟`; } } else { timeStr = `${day}天${hours}小时${seconds}分钟`; } return timeStr; }, /** * @description 时间戳转时分秒 00 : 00 : 00 */ formatDuring(mss) { // let dangTime = Math.round(new Date()/1000)//获取当前时间戳 var hours = parseInt((mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var seconds = parseInt((mss % (1000 * 60 * 60)) / (1000 * 60)); var minutes = (mss % (1000 * 60)) / 1000; hours = hours < 10 ? ('0' + hours) : hours; seconds = seconds < 10 ? ('0' + seconds) : seconds; minutes = minutes < 10 ? ('0' + minutes) : minutes; return hours + ' : ' + seconds + ' : ' + minutes; }, /** * @description 开启倒计时 */ dayTime(endTime,startTime=''){ let totalSecond = ''; // 本地倒计时 // if(startTime=='') totalSecond = Math.floor((new Date(endTime).getTime() - new Date().getTime())/1000); // 解决苹果手机问题 let date = endTime; date = endTime.replace(/-/g,'/') // 服务器倒计时 if(startTime!='') totalSecond = Math.floor((new Date(date).getTime() - startTime)/1000); // 总秒数 let second = totalSecond; // 天数 let day = Math.floor(second / 3600 / 24); let dayStr = day.toString(); if(dayStr.length == 1) dayStr = '0' + dayStr; // 小时 let hr = Math.floor((second - day * 3600 * 24) / 3600); let hrStr = hr.toString(); if(hrStr.length == 1) hrStr = '0' + hrStr; // 分钟 let min = Math.floor((second - day * 3600 * 24 - hr * 3600) / 60); let minStr = min.toString(); if(minStr.length == 1) minStr = '0' + minStr; // 秒 let sec = second - day * 3600 * 24 - hr * 3600 - min * 60; let secStr = sec.toString(); if(secStr.length == 1) secStr = '0' + secStr; let newTime = ''; if(dayStr==0) { newTime = hrStr +'时'+ minStr +'分'+ secStr +'秒'; } else { newTime = dayStr +'天'+ hrStr +'时'+ minStr +'分'+ secStr +'秒'; } return newTime; }, } export default yayaTime;