比對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;
}