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