獲取類似朋友圈的時(shí)間顯示算法
function getDateDiff(date) {
var publishTime = date / 1000,
d_seconds,
d_minutes,
d_hours,
d_days,
timeNow = parseInt(new Date().getTime() / 1000),
d,
date = new Date(publishTime * 1000),
Y = date.getFullYear(), //獲取當(dāng)前年份
M = date.getMonth() + 1, //獲取當(dāng)前月份
D = date.getDate(), //獲取當(dāng)前天數(shù)
H = date.getHours(), //獲取當(dāng)前小時(shí)
m = date.getMinutes(), //獲取當(dāng)前分鐘
s = date.getSeconds(); //獲取當(dāng)前秒
//小于10的在前面補(bǔ)0
if (M < 10) {
M = '0' + M;
}
if (D < 10) {
D = '0' + D;
}
if (H < 10) {
H = '0' + H;
}
if (m < 10) {
m = '0' + m;
}
if (s < 10) {
s = '0' + s;
}
d = timeNow - publishTime; //計(jì)算時(shí)間差
d_days = parseInt(d / 86400); //計(jì)算差幾天
d_hours = parseInt(d / 3600); //計(jì)算差幾個(gè)小時(shí)
d_minutes = parseInt(d / 60); //計(jì)算差多少分鐘
d_seconds = parseInt(d); //計(jì)算差多少秒
if (d_days > 0 && d_days < 3) { //3天之內(nèi)
return d_days + '天前';
} else if (d_days <= 0 && d_hours > 0) { //1天之內(nèi)顯示小時(shí)
return d_hours + '小時(shí)前';
} else if (d_hours <= 0 && d_minutes > 0) { //1小時(shí)之內(nèi)顯示分鐘
return d_minutes + '分鐘前';
} else if (d_seconds < 60) { //1分鐘內(nèi) 顯示秒
if (d_seconds <= 0) {
return '剛剛';
} else {
return d_seconds + '秒前';
}
} else if (d_days >= 3 && d_days < 30) { //30天之內(nèi)不顯示年份
return M + '-' + D + ' ' + H + ':' + m;
} else if (d_days >= 30) { //大于30天顯示年份
return Y + '-' + M + '-' + D + ' ' + H + ':' + m;
}
}
使用時(shí)只需要將記錄的時(shí)間傳進(jìn)去就ok
console.log(getDateDiff(new Date().getTime()-1000));
==>剛剛
console.log(getDateDiff(new Date().getTime()-10000));
==>9秒前
console.log(getDateDiff(new Date().getTime()-100000));
==>1分鐘前
console.log(getDateDiff(new Date().getTime()-10000000));
==>2小時(shí)前
console.log(getDateDiff(new Date().getTime()-100000000));
==>1天前
console.log(getDateDiff(new Date().getTime()-1000000000));
==>05-16 03:22
console.log(getDateDiff(new Date().getTime()-10000000000));
==>2019-01-31 23:22
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者