相对于相对时间的Javascript时间戳(例如2秒前,一周前等),最佳方法?
我正在寻找一个不错的JS代码片段,以将时间戳记(例如,来自Twitter API)转换为用户友好的相对时间(例如2秒前,一周前等)。
有人愿意分享一些他们喜欢的方法(最好不使用插件)吗?
回答:
好吧,如果您不太担心准确性,那很容易。平凡的方法有什么问题?
function timeDifference(current, previous) { var msPerMinute = 60 * 1000;
var msPerHour = msPerMinute * 60;
var msPerDay = msPerHour * 24;
var msPerMonth = msPerDay * 30;
var msPerYear = msPerDay * 365;
var elapsed = current - previous;
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';
}
else if (elapsed < msPerYear) {
return 'approximately ' + Math.round(elapsed/msPerMonth) + ' months ago';
}
else {
return 'approximately ' + Math.round(elapsed/msPerYear ) + ' years ago';
}
}
如果这会让您感到困扰1 day
,1 days
则可能需要对其进行调整以更好地处理奇异值(例如而不是)。
以上是 相对于相对时间的Javascript时间戳(例如2秒前,一周前等),最佳方法? 的全部内容, 来源链接: utcz.com/qa/398499.html