后臺(tái)接口給的時(shí)間數(shù)據(jù)為Unix時(shí)間戳,我們的需求是顯示類似微信朋友圈顯示發(fā)布時(shí)間為距離當(dāng)前時(shí)間多久之前,“xx分鐘之前”,“xx小時(shí)之前”,“xx個(gè)月之前”。
類似這樣的時(shí)間顯示效果:
轉(zhuǎn)換函數(shù):
/** * Unix時(shí)間戳轉(zhuǎn)換為當(dāng)前時(shí)間多久之前 * @param timespan int Unix時(shí)間戳 * @return timeSpanStr string 轉(zhuǎn)換之后的前臺(tái)需要的字符串 */function Ftime (timespan) { var dateTime = new Date(timespan * 1000); var year = dateTime.getFullYear(); var month = dateTime.getMonth() + 1; var day = dateTime.getDate(); var hour = dateTime.getHours(); var minute = dateTime.getMinutes(); //當(dāng)前時(shí)間 var now = Date.parse(new Date()); //typescript轉(zhuǎn)換寫法 var milliseconds = 0; var timeSpanStr; //計(jì)算時(shí)間差 milliseconds = (now / 1000) - timespan; //一分鐘以內(nèi) if (milliseconds <= 60) { timeSpanStr = '剛剛'; } //大于一分鐘小于一小時(shí) else if (60 < milliseconds && milliseconds <= 60 * 60) { timeSpanStr = Math.ceil((milliseconds / (60))) + '分鐘前'; } //大于一小時(shí)小于等于一天 else if (60 * 60 < milliseconds && milliseconds <= 60 * 60 * 24) { timeSpanStr = Math.ceil(milliseconds / (60 * 60)) + '小時(shí)前'; } //大于一天小于等于15天 else if (60 * 60 * 24 < milliseconds && milliseconds <= 60 * 60 * 24 * 30) { timeSpanStr = Math.ceil(milliseconds / (60 * 60 * 24)) + '天前'; } //大于一個(gè)月小于一年 else if (60 * 60 * 24 * 30 < milliseconds && milliseconds <= 60 * 60 * 24 * 30 * 12){ timeSpanStr = Math.ceil(milliseconds / (60 * 60 * 24 * 30)) + '個(gè)月前'; } //超過(guò)一年顯示 else { timeSpanStr = year + '年' + month + '月' + day + '日 ' + hour + ':' + minute; } return timeSpanStr;}
總結(jié)
以上所述是小編給大家介紹的JS根據(jù)Unix時(shí)間戳顯示發(fā)布時(shí)間是多久前 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注