[javascript] js格式化时间为xx秒前、xx分钟前、xx小时前等

JavaScript/前端
366
0
0
2022-10-13

有时候我项目里需要把时间格式化为xx秒前、xx分钟前、xx小时前等形式

可以使用下面这个函数

/**
 * 人性化时间
 * @param {Object} timestamp
 */
function beautifyTime(timestamp){
    var mistiming = Math.round(new Date() / 1000)-timestamp;
    var postfix = mistiming>0 ? '前' : '后'
    mistiming = Math.abs(mistiming)
    var arrr = ['年','个月','星期','天','小时','分钟','秒'];
    var arrn = [31536000,2592000,604800,86400,3600,60,1];
 
    for(var i=0; i<7; i++){
        var inm = Math.floor(mistiming/arrn[i])
        if(inm!=0){
            return inm+arrr[i] + postfix
        }
    }
}

效果如:

img