JS根據(jù)Unix時間戳顯示發(fā)布時間是多久前【項目實測】
后臺接口給的時間數(shù)據(jù)為Unix時間戳,我們的需求是顯示類似微信朋友圈顯示發(fā)布時間為距離當前時間多久之前,“xx分鐘之前”,“xx小時之前”,“xx個月之前”。
類似這樣的時間顯示效果:

轉換函數(shù):
/**
* Unix時間戳轉換為當前時間多久之前
* @param timespan int Unix時間戳
* @return timeSpanStr string 轉換之后的前臺需要的字符串
*/
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();
//當前時間
var now = Date.parse(new Date()); //typescript轉換寫法
var milliseconds = 0;
var timeSpanStr;
//計算時間差
milliseconds = (now / 1000) - timespan;
//一分鐘以內(nèi)
if (milliseconds <= 60) {
timeSpanStr = '剛剛';
}
//大于一分鐘小于一小時
else if (60 < milliseconds && milliseconds <= 60 * 60) {
timeSpanStr = Math.ceil((milliseconds / (60))) + '分鐘前';
}
//大于一小時小于等于一天
else if (60 * 60 < milliseconds && milliseconds <= 60 * 60 * 24) {
timeSpanStr = Math.ceil(milliseconds / (60 * 60)) + '小時前';
}
//大于一天小于等于15天
else if (60 * 60 * 24 < milliseconds && milliseconds <= 60 * 60 * 24 * 30) {
timeSpanStr = Math.ceil(milliseconds / (60 * 60 * 24)) + '天前';
}
//大于一個月小于一年
else if (60 * 60 * 24 * 30 < milliseconds && milliseconds <= 60 * 60 * 24 * 30 * 12){
timeSpanStr = Math.ceil(milliseconds / (60 * 60 * 24 * 30)) + '個月前';
}
//超過一年顯示
else {
timeSpanStr = year + '年' + month + '月' + day + '日 ' + hour + ':' + minute;
}
return timeSpanStr;
}
總結
以上所述是小編給大家介紹的JS根據(jù)Unix時間戳顯示發(fā)布時間是多久前 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
相關文章
javascript數(shù)組中的map方法和filter方法
這篇文章主要介紹了javascript數(shù)組中的map方法和filter方法,文章內(nèi)容介紹詳細,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的學習有所幫助2022-03-03
BootStrap Datetimepicker 漢化的實現(xiàn)代碼
這篇文章主要介紹了 BootStrap Datetimepicker 漢化的實現(xiàn)代碼,需要的朋友可以參考下2017-02-02
再談querySelector和querySelectorAll的區(qū)別與聯(lián)系
先按W3C的規(guī)范來說這兩個方法應該返回的內(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)_動力節(jié)點Java學院整理
這篇文章主要為大家詳細介紹了JavaScript循環(huán)的相關資料,JavaScript的兩種循環(huán)方式,一種是for循環(huán),另while一種是循環(huán)具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
微信小程序實現(xiàn)動態(tài)設置placeholder提示文字及按鈕選中/取消狀態(tài)的方法
這篇文章主要介紹了微信小程序實現(xiàn)動態(tài)設置placeholder提示文字及按鈕選中/取消狀態(tài)的方法,涉及事件綁定及this.setData動態(tài)設置屬性數(shù)據(jù)的相關操作技巧,需要的朋友可以參考下2017-12-12
使用layui 渲染table數(shù)據(jù)表格的實例代碼
今天小編就為大家分享一篇使用layui 渲染table數(shù)據(jù)表格的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08

