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

js个性化显示时间

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

代码如下:
01function time2desc(passDate){
02    var passTime = Date.parse(passDate);
03    var newTime = new Date().getTime();
04    var shicha = newTime-passTime;
05    //计算出相差天数
06    var days=Math.floor(shicha/(24*3600*1000));
07    //计算出小时数
08    var leave1=shicha%(24*3600*1000);    //计算天数后剩余的毫秒数
09    var hours=Math.floor(leave1/(3600*1000));
10    //计算相差分钟数
11    var leave2=leave1%(3600*1000);        //计算小时数后剩余的毫秒数
12    var minutes=Math.floor(leave2/(60*1000));
13    //计算相差秒数
14    var leave3=leave2%(60*1000);      //计算分钟数后剩余的毫秒数
15    var seconds=Math.round(leave3/1000);
16    //判断返回
17    var d = new Date(passDate);
18    if(days>=366){
19        return d.getFullYear()+'年'+(d.getMonth()+1)+'月'+d.getDate()+'日';
20    }else if(days>1 && days<366){
21        return (d.getMonth()+1)+'月'+d.getDate()+'日';
22    }else if(days === 1){
23        return '昨天';
24    }else if(hours>=1 && hours<24){
25        return hours+'小时前';
26    }else if(hours<1 && minutes>=1){
27        return minutes+'分钟前';
28    }else{
29        return '刚刚';
30    }
31}