我试图在JavaScript中的两个日期之间取得月份,日期,小时,分钟和秒的差异。
我知道我们可以得到以毫秒为单位的日期差,并且已经尝试过如下操作:
function showtime() {
var date1 = new Date('7/14/2010 6:21:00');
var date2 = new Date('12/15/2010 7:25:10');
var diffTime = parseInt(date2 - date1);
var diffMonth = Math.floor(diffTime / (1000 * 60 * 60 * 24 * 30));
var diffDays = Math.floor((diffTime / (1000 * 60 * 60 * 24)) - (diffMonth * 30));
var diffHour = Math.floor((diffTime / (1000 * 60 * 60)) - (diffMonth * 30 * 24) - (diffDays * 24))
var diffMinute = Math.floor((diffTime / (1000 * 60)) - (diffMonth * 60 * 30 * 24) - (diffDays * 60 * 24) - (diffHour * 60))
var diffSec = Math.floor((diffTime / (1000)) - (diffMonth * 60 * 60 * 30 * 24) - (diffDays * 60 * 60 * 24) - (diffHour * 60 * 60) - (diffMinute * 60))
var result = (diffMonth + ' Month ' + diffDays + ' Days ' + diffHour + ' Hours ' + diffMinute + ' Minutes ' + diffSec + ' Sec' );
return result;
}
但是以上函数无法计算确切的日期和月份。任何帮助,将不胜感激。
您正在假设所有月份只有30天,而并非如此(diffMonth使用30天乘数-这会使天数产生偏差)>