HTML部分:
let now = new Date()
now.setHours(10)
now.setDate(20)
console.log(now.getTime()); // 时间戳
console.log(+new Date);
let now1 = new Date('2020-05-20 18:10:25')
console.log(now - now1);
let now2 = new Date(1211165135651)
console.log(now , now1 , now2);
let endTime = new Date()
let i = 0
function sayHi() {
i++
if (new Date() - endTime < 1000) return ;
console.log('hi' , i);
endTime = new Date()
}
setInterval (() => {
sayHi()
}, 500)
console.log(JJ.getFriendlyTime(new Date('2020-05-21 12:10:25')));
console.log(JJ.getFriendlyTime(new Date('2020-05-21 16:55:25')));
console.log(JJ.getFriendlyTime(new Date('2020-05-21 18:45:25')));
Js部分:
let JJ = {
repairZero(val) {
return val < 10 ? ('0' + val) : val
},
getDateText() {
return JJ.fmtDate('ymd')
},
getTimeText() {
return JJ.fmtDate('hms')
},
getNow(fmt) {
return this.fmtDate(new Date() , fmt)
},
fmtDate(now , type) {
// let now = new Date()
// 年、月、日、小时、分钟、秒、星期
let yy = now.getFullYear()
let mm = now.getMonth() + 1
let dd = now.getDate()
let hh = now.getHours()
let mi = now.getMinutes()
let ss = now.getSeconds()
let ww = '星期' + '日一二三四五六'[now.getDay()]
let str1 = [yy , this.repairZero(mm) , this.repairZero(dd)].join('-')
let str2 = [this.repairZero(hh) , this.repairZero(mi) , this.repairZero(ss)].join(':')
switch (type) {
case 'ymd':
return str1
case 'hms':
return str2
case 'w':
return ww
default:
return [str1 , str2].join(' ')
}
},
getFriendlyTime(date) {
let now = +new Date
let s = (now - date) / 1000
if (s < 60)
return '刚刚'
else if (s < 60 * 60)
return Math.floor(s / 60) + '分钟前'
else if (s < 60 * 60 * 24)
return Math.floor(s / 60 / 60) + '小时前'
else return this.fmtDate(date)
}
}