比对YYYY-MM-DD HH:MM:SS格式的日期与当前日期的时间间隔:
function calcDateTimeGap(time) {
if (time == null || time.length == 0) {
return '';
}
var now = new Date();
var dateTime = time.split(" ");
if (dateTime && dateTime.length < 2) {
return dateTime[0];
}
var date = dateTime[0].split('-');
var time = dateTime[1].split(':');
if (date.length < 3 || time.length < 3) {
return dateTime[0];
}
var add = new Date(date[0],parseInt(date[1]-1),date[2],time[0],time[1],time[2]);
var str = '';
var timeSpan = Math.abs(now - add);
//计算出相差天数
var days = Math.floor(timeSpan / (24 * 3600 * 1000));
if (days < 1) {
//计算出小时数
var leave1 = timeSpan % (24 * 3600 * 1000);
//计算天数后剩余的毫秒数
var hours = Math.floor(leave1 / (3600 * 1000));
if (hours < 1) {
//计算相差分钟数
var leave2 = leave1 % (3600 * 1000);
//计算小时数后剩余的毫秒数
var minutes = Math.floor(leave2 / (60 * 1000));
if (minutes <= 5) {
str = '刚刚';
} else {
str = minutes + '分钟前';
}
} else {
str = hours + '小时前';
}
} else {
if (days) {
if (days < 30) {
str = days + '天前';
} else {
str = parseInt(days / 30) + '个月前';
}
} else {
str = dateTime[0];
}
}
return str;
}