首页 > 建站教程 > JS、jQ、TS >  js个性化显示时间正文

js个性化显示时间

js根据时间显示如下规则:
    24小时内(显示“XX分钟前”或者“XX小时前”,不足1分钟显示“刚刚”)
    大于24小时,小于48小时(显示“昨天”)
    大于48小时(显示“月-日”),
    其他年份(显示年-月-日)

代码如下:
function time2desc(passDate){
    var passTime = Date.parse(passDate);
    var newTime = new Date().getTime();
    var shicha = newTime-passTime;
    //计算出相差天数
    var days=Math.floor(shicha/(24*3600*1000));
    //计算出小时数
    var leave1=shicha%(24*3600*1000);    //计算天数后剩余的毫秒数
    var hours=Math.floor(leave1/(3600*1000));
    //计算相差分钟数
    var leave2=leave1%(3600*1000);        //计算小时数后剩余的毫秒数
    var minutes=Math.floor(leave2/(60*1000));
    //计算相差秒数
    var leave3=leave2%(60*1000);      //计算分钟数后剩余的毫秒数
    var seconds=Math.round(leave3/1000);
    //判断返回
    var d = new Date(passDate);
    if(days>=366){
        return d.getFullYear()+'年'+(d.getMonth()+1)+'月'+d.getDate()+'日';
    }else if(days>1 && days<366){
        return (d.getMonth()+1)+'月'+d.getDate()+'日';
    }else if(days === 1){
        return '昨天';
    }else if(hours>=1 && hours<24){
        return hours+'小时前';
    }else if(hours<1 && minutes>=1){
        return minutes+'分钟前';
    }else{
        return '刚刚';
    }
}