fromNow
实现一个计算出距离当时时间的相对时间值
function fromNow(lastTime) {
var msPerMinute = 60 * 1000; // 每分钟的毫秒数
var msPerHour = msPerMinute * 60; // 每小时的毫秒数
var msPerDay = msPerHour * 24; // 每天的毫秒数
var msPerMonth = msPerDay * 30; // 每月的毫秒数(按每月30天)
var msPerYear = msPerDay * 365; // 每年的毫秒数
var elapsed = Date.now() - lastTime; // 计算上一次时间和当前时间的毫秒数
if (elapsed < msPerMinute) { // 如果毫秒数小于一分钟的毫秒数
return Math.round(elapsed/1000) + ' seconds ago';
}
else if (elapsed < msPerHour) { // 如果毫秒数小于一小时的毫秒数
return Math.round(elapsed/msPerMinute) + ' minutes ago';
}
else if (elapsed < msPerDay ) { // 如果毫秒数小于一天的毫秒数
return Math.round(elapsed/msPerHour ) + ' hours ago';
}
else if (elapsed < msPerMonth) { // 如果毫秒数小于一个月的毫秒数
return 'approximately ' + Math.round(elapsed/msPerDay) + ' days ago'; // 因为按每月30天计算,所以精确度不是特别高,所以是approximately
}
else if (elapsed < msPerYear) { // 如果毫秒数小于一分钟的毫秒数
return 'approximately ' + Math.round(elapsed/msPerMonth) + ' months ago';
}
else { // 如果毫秒数小于一分钟的毫秒数
return 'approximately ' + Math.round(elapsed/msPerYear ) + ' years ago';
}
}