1 回答
![?](http://img1.sycdn.imooc.com/533e4d470001a00a02000200-100-100.jpg)
TA贡献1815条经验 获得超6个赞
考虑下年、月、日、时、分的情况,主要是通过对比时间,分成六个级别【年、月、日、时、分、1分钟内】,哪个级别匹配到了就拿出结果即可:
function diffTime(dataStr){
var nowDate = new Date().getTime(),
oldDate = new Date(dataStr).getTime(),
diffTime = parseInt((nowDate - oldDate)/1000,10),
oneMinute = 60,
oneHour = 60 * oneMinute,
oneDay = 24 * oneHour,
oneMonth = 30 * oneDay,
oneYear = 12 * oneMonth,
compareArr = [oneYear,oneMonth,oneDay,oneHour,oneMinute],
postfix = ['年前','个月前','天前','个小时前','分钟前','1分钟内'],
diffYear,diffMonth,diffDay,diffHour,diffMinute,len=5;
for(var i =0; i< len ;i++){
var diff = Math.floor(diffTime/compareArr[i]);
if(diff > 0){
return diff + postfix[i];
}
else if(i === len -1 && diff === 0){
return postfix[len];
}
}
}
添加回答
举报