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)換寫(xiě)法 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)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- JS操作時(shí)間 - UNIX時(shí)間戳的簡(jiǎn)單介紹(必看篇)
- vue.js將unix時(shí)間戳轉(zhuǎn)換為自定義時(shí)間格式
- JavaScript輸出當(dāng)前時(shí)間Unix時(shí)間戳的方法
- js時(shí)間戳與日期格式之間相互轉(zhuǎn)換
- javascript時(shí)間戳和日期字符串相互轉(zhuǎn)換代碼(超簡(jiǎn)單)
- 利用 filter 機(jī)制給靜態(tài)資源 url 加上時(shí)間戳,來(lái)防止js和css文件的緩存問(wèn)題
- JS獲取時(shí)間的相關(guān)函數(shù)及時(shí)間戳與時(shí)間日期之間的轉(zhuǎn)換
相關(guān)文章
JS、CSS以及img對(duì)DOMContentLoaded事件的影響
最近在做性能有關(guān)的數(shù)據(jù)上報(bào),發(fā)現(xiàn)了兩個(gè)非常有意思的東西:Chrome開(kāi)發(fā)者工具的Timeline分析面板,以及DOMContentLoaded事件。一個(gè)是強(qiáng)大的令人發(fā)指的性能分析工具,一個(gè)是重要的性能指標(biāo),于是就用Timeline對(duì)DOMContentLoaded事件進(jìn)行了一番研究2014-08-08js實(shí)現(xiàn)購(gòu)物網(wǎng)站放大鏡功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)購(gòu)物網(wǎng)站放大鏡功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06無(wú)縫滾動(dòng)改進(jìn)版支持上下左右滾動(dòng)(封裝成函數(shù))
無(wú)縫滾動(dòng)改進(jìn)版,封裝成函數(shù),同時(shí)支持上下左右無(wú)縫滾動(dòng)。2012-12-12JS利用時(shí)間戳倒計(jì)時(shí)的實(shí)現(xiàn)示例
這篇文章主要介紹了JS利用時(shí)間戳倒計(jì)時(shí)的實(shí)現(xiàn)示例,本文將提供代碼示例和詳細(xì)的步驟,幫助你實(shí)現(xiàn)一個(gè)簡(jiǎn)單而實(shí)用的時(shí)間戳倒計(jì)時(shí),感興趣的可以了解一下2023-12-12javascript數(shù)組遍歷的方法實(shí)例分析
這篇文章主要介紹了javascript數(shù)組遍歷的方法,結(jié)合實(shí)例形式分析了javascript數(shù)組遍歷及相關(guān)的some、every、filter、map等方法的使用技巧,需要的朋友可以參考下2016-09-09layui結(jié)合form,table的全選、反選v1.0示例講解
今天小編就為大家分享一篇layui結(jié)合form,table的全選、反選v1.0示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08Bootstrap 模態(tài)對(duì)話框只加載一次 remote 數(shù)據(jù)的完美解決辦法
前端框架 Bootstrap 的模態(tài)對(duì)話框,可以使用 remote 選項(xiàng)指定一個(gè) URL,這樣對(duì)話框在第一次彈出的時(shí)候就會(huì)自動(dòng)從這個(gè)地址加載數(shù)據(jù)到 .modal-body 中,但是它只會(huì)加載一次,不過(guò)通過(guò)在事件中調(diào)用 removeData() 方法可以解決這個(gè)問(wèn)題,具體操作方法,大家通過(guò)本文了解下吧2017-07-07