日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JS 时间转化为几分钟前 几小时前 几天前

發布時間:2025/5/22 javascript 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS 时间转化为几分钟前 几小时前 几天前 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景:最近公司要做動態列表,類似于微信朋友圈。動態創建時間就需要顯示為 剛剛、幾分鐘前、幾小時前、幾天前、2018-05-15,這樣的形式。

?

代碼如下

var minute = 1000 * 60;var hour = minute * 60;var day = hour * 24;// 計算時間差 handleDate(minute, hour, day,dateTimeStamp) {var result = '';var now = new Date().getTime();var diffValue = now - dateTimeStamp;if (diffValue < 0) {console.log("時間不對勁,服務器創建時間與當前時間不同步");return result = "剛剛";}var dayC = diffValue / day;var hourC = diffValue / hour;var minC = diffValue / minute;if (parseInt(dayC) > 30) {result = "" + this.$format(dateTimeStamp,"yyyy-MM-dd");}else if(parseInt(dayC) > 1) {result = "" + parseInt(dayC) + "天前";}else if (parseInt(dayC) == 1) {result = "昨天";} else if (hourC >= 1) {result = "" + parseInt(hourC) + "小時前";} else if (minC >= 5) {result = "" + parseInt(minC) + "分鐘前";} elseresult = "剛剛";return result;},

?

參數?dateTimeStamp 為服務器返回的創建時間 ;

因為服務器并沒有返回當前時間,所以有時候時間會出現小小的偏差,但是沒關系,顯示為剛剛就行了。

?

?* this.$format() 為處理時間的方法;

1 /** 2 * 格式化時間 3 * @param date Date 時間 4 * @param format 格式化 "yyyy-MM-dd hh:mm:ss www"=format 5 * @returns {string} 格式化后字符串 6 */ 7 8 export function format(date, format){ 9 if (typeof date == 'string') { 10 if(date.indexOf('T')>=0){ 11 date = date.replace('T',' ') 12 } 13 date = new Date(Date.parse(date.replace(/-/g, "/"))) 14 } 15 var o = { 16 "M+": date.getMonth() + 1, 17 "d+": date.getDate(), 18 "h+": date.getHours(), 19 "m+": date.getMinutes(), 20 "s+": date.getSeconds(), 21 "q+": Math.floor((date.getMonth() + 3) / 3), 22 "S": date.getMilliseconds() 23 }; 24 var w = [ 25 ['日', '一', '二', '三', '四', '五', '六'], 26 ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], 27 ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'] 28 ]; 29 if (/(y+)/.test(format)) { 30 format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); 31 } 32 if (/(w+)/.test(format)) { 33 format = format.replace(RegExp.$1, w[RegExp.$1.length - 1][date.getDay()]); 34 } 35 for (var k in o) { 36 if (new RegExp("(" + k + ")").test(format)) { 37 format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); 38 } 39 } 40 return format; 41 } View Code

?

轉載于:https://www.cnblogs.com/wyhlightstar/p/9347196.html

總結

以上是生活随笔為你收集整理的JS 时间转化为几分钟前 几小时前 几天前的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。