1 回答

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];
}
}
}
添加回答
舉報