本文介绍了如何格式化自xxx以来的时间,例如“4分钟前”类似于Stack Exchange网站的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问题是如何将JavaScript Date
格式化为一个字符串,说明经过的时间与您在Stack Overflow上显示的时间的方式类似。
The question is how to format a JavaScript Date
as a string stating the time elapsed similar to the way you see times displayed on Stack Overflow.
例如
- 1分钟前
- 1小时前
- 1天前
- 1个月前
- 1年前
- 1 minute ago
- 1 hour ago
- 1 day ago
- 1 month ago
- 1 year ago
推荐答案
function timeSince(date) {
var seconds = Math.floor((new Date() - date) / 1000);
var interval = Math.floor(seconds / 31536000);
if (interval > 1) {
return interval + " years";
}
interval = Math.floor(seconds / 2592000);
if (interval > 1) {
return interval + " months";
}
interval = Math.floor(seconds / 86400);
if (interval > 1) {
return interval + " days";
}
interval = Math.floor(seconds / 3600);
if (interval > 1) {
return interval + " hours";
}
interval = Math.floor(seconds / 60);
if (interval > 1) {
return interval + " minutes";
}
return Math.floor(seconds) + " seconds";
}
var aDay = 24*60*60*1000
console.log(timeSince(new Date(Date.now()-aDay)));
console.log(timeSince(new Date(Date.now()-aDay*2)));
这篇关于如何格式化自xxx以来的时间,例如“4分钟前”类似于Stack Exchange网站的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!