購物網(wǎng)站建設(shè)的可行性內(nèi)部優(yōu)化
由于后端每條博文的發(fā)表時(shí)間是以“xxxx—xx—xxxx:xx:xx”的形式顯示的,
現(xiàn)在要在前端改成“xxxx年xx月xx日”的形式。
并對(duì)10分鐘內(nèi)發(fā)表的顯示“剛剛”,對(duì)24小時(shí)內(nèi)發(fā)表的顯示“小時(shí)前”。
超過24小時(shí),小于48小時(shí),顯示“1天前”。
超過了48小時(shí)則顯示“xxxx 年xx月xx日”。
解決方法:使用 new Date()?
?
后端數(shù)據(jù):
?
前端處理:
//methods獲取后端數(shù)據(jù)
showBlogs(){uni.request({url:"http://localhost:8000/blog/getPageBlogs",method:"POST",data:{pageNum:this.pageNum,pageSize:8},success: (res) => {//console.log(res.data);//參見接口規(guī)范中的返回值示例let tempblogs = res.data.message.records;for(let blog of tempblogs){if(blog.thumbnail == null){//沒有縮略圖,則給一張默認(rèn)圖片blog.thumbnail = "/static/log.png";}if (blog.posttime != null){let posttimes = blog.posttime;blog.posttime = this.transformTime(posttimes);console.log("轉(zhuǎn)化為年月日:", blog.posttime)}}//...是展開運(yùn)算符,將tempblogs數(shù)組中元素一一取出this.blogs.push(...tempblogs);}}); // end of uni.request()
//時(shí)間改進(jìn)transformTime(times){var date = new Date(times);console.log("上傳時(shí)間為:", date)var Y = date.getFullYear(); //年var M = date.getMonth() + 1; //月var D = date.getDate(); //日var h = date.getHours(); //時(shí)var m = date.getMinutes(); //分var s = date.getSeconds(); //秒var nowdate = new Date();console.log("現(xiàn)在時(shí)間為:", nowdate);var diff = Math.abs(nowdate - date)//console.log("相差時(shí)間:", diff);var day = parseInt(diff / 1000 / 60 / 60 / 24)var hour = parseInt(diff / 1000 / 60 / 60) % 24var minute = parseInt(diff / 1000 / 60) % 60var second = parseInt(diff / 1000) % 60console.log('相差'+day+'天'+hour+'小時(shí)'+minute+'分鐘'+second+'秒');var finaltime; //最終時(shí)間if (minute < 10){finaltime = "剛剛";} else if (day <= 1){finaltime = hour + "小時(shí)前";} else if (day > 1 && day <= 2){finaltime = "1天前";} else {finaltime = Y + "年" + M + "月" + D + "日";}return finaltime;},
?
前端結(jié)果:
?
?
?