如图:
将日期跟当前时间比较,并显示相差的时间如图展示,想封装一个方法,但是具体不知道该怎么弄好,求大神指点迷津。
自己在各路大神点思路下,自己给弄了一个,如下:
//与当前时间比较
function getDate(time){
var str = time;
//将字符串转换成时间格式
var timePublish = new Date(str);
var timeNow = new Date();
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var month = day * 30;
var diffValue = timeNow - timePublish;
var diffMonth = diffValue / month;
var diffWeek = diffValue / (7 * day);
var diffDay = diffValue / day;
var diffHour = diffValue / hour;
var diffMinute = diffValue / minute;
if (diffValue < 0) {
console.log("错误时间");
}
else if (diffMonth > 3) {
result = timePublish.getFullYear()+"-";
result += (timePublish.getMonth() + 1) + "-";
result += timePublish.getDate();
// $.toptips(result);
}
else if (diffMonth > 1) {
result = parseInt(diffMonth) + "月前";
}
else if (diffWeek > 1) {
result = parseInt(diffWeek) + "周前";
}
else if (diffDay > 1) {
result = parseInt(diffDay) + "天前";
}
else if (diffHour > 1) {
result = parseInt(diffHour) + "小时前";
}
else if (diffMinute > 1) {
result = parseInt(diffMinute) + "分钟前";
}
else {
result = "刚刚";
}
return result;
}
考虑下年、月、日、时、分的情况,主要是通过对比时间,分成六个级别【年、月、日、时、分、1分钟内】,哪个级别匹配到了就拿出结果即可: