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 '刚刚'; } }