JS根據(jù)Unix時(shí)間戳顯示發(fā)布時(shí)間是多久前【項(xiàng)目實(shí)測(cè)】
后臺(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è)月前';
}
//超過一年顯示
else {
timeSpanStr = year + '年' + month + '月' + day + '日 ' + hour + ':' + minute;
}
return timeSpanStr;
}
總結(jié)
以上所述是小編給大家介紹的JS根據(jù)Unix時(shí)間戳顯示發(fā)布時(shí)間是多久前 ,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- JS操作時(shí)間 - UNIX時(shí)間戳的簡單介紹(必看篇)
- vue.js將unix時(shí)間戳轉(zhuǎn)換為自定義時(shí)間格式
- JavaScript輸出當(dāng)前時(shí)間Unix時(shí)間戳的方法
- js時(shí)間戳與日期格式之間相互轉(zhuǎn)換
- javascript時(shí)間戳和日期字符串相互轉(zhuǎn)換代碼(超簡單)
- 利用 filter 機(jī)制給靜態(tài)資源 url 加上時(shí)間戳,來防止js和css文件的緩存問題
- JS獲取時(shí)間的相關(guān)函數(shù)及時(shí)間戳與時(shí)間日期之間的轉(zhuǎn)換
相關(guān)文章
javascript數(shù)組中的map方法和filter方法
這篇文章主要介紹了javascript數(shù)組中的map方法和filter方法,文章內(nèi)容介紹詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-03-03
BootStrap Datetimepicker 漢化的實(shí)現(xiàn)代碼
這篇文章主要介紹了 BootStrap Datetimepicker 漢化的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-02-02
再談querySelector和querySelectorAll的區(qū)別與聯(lián)系
先按W3C的規(guī)范來說這兩個(gè)方法應(yīng)該返回的內(nèi)容吧,大家先看下官方的解釋,然后根據(jù)需要選擇使用2012-04-04
淺析BootStrap中Modal(模態(tài)框)使用心得
Bootstrap Modals(模態(tài)框)是使用定制的 Jquery 插件創(chuàng)建的。本文給大家分享BootStrap中Modal(模態(tài)框)使用心得,一起看看吧2016-12-12
JavaScript循環(huán)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了JavaScript循環(huán)的相關(guān)資料,JavaScript的兩種循環(huán)方式,一種是for循環(huán),另while一種是循環(huán)具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
微信小程序?qū)崿F(xiàn)動(dòng)態(tài)設(shè)置placeholder提示文字及按鈕選中/取消狀態(tài)的方法
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)動(dòng)態(tài)設(shè)置placeholder提示文字及按鈕選中/取消狀態(tài)的方法,涉及事件綁定及this.setData動(dòng)態(tài)設(shè)置屬性數(shù)據(jù)的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
使用layui 渲染table數(shù)據(jù)表格的實(shí)例代碼
今天小編就為大家分享一篇使用layui 渲染table數(shù)據(jù)表格的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08

