如何获得两个日期之间的月份,日期,小时,分钟和秒的差异?

问题描述 投票:0回答:1

我试图在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;
}

但是以上函数无法计算确切的日期和月份。任何帮助,将不胜感激。

javascript datetime date-difference
1个回答
0
投票

您正在假设所有月份只有30天,而并非如此(diffMonth使用30天乘数-这会使天数产生偏差)>

© www.soinside.com 2019 - 2024. All rights reserved.