相对于相对时间的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 day1 days则可能需要对其进行调整以更好地处理奇异值(例如而不是)。

以上是 相对于相对时间的Javascript时间戳(例如2秒前,一周前等),最佳方法? 的全部内容, 来源链接: utcz.com/qa/398499.html

回到顶部