找出两个日期之间的差异

时间:2013-01-30 20:20:03

标签: javascript date

我如何找到这种格式的两个日期之间的差异 年,月(必须&lt; 12,如果&gt;年++),天(必须<30,如果> 30,然后是月++),小时(必须<24,如果&gt; 24然后是天++)

我不会有像这样的格式

3年级, 第34个月(我将在34年内计算这个数字), dasy 345(也是这个值)

我有这个代码

http://jsfiddle.net/AQSWu/

var currentTo  = new Date(2015, 6, 1),
    currentFrom  = new Date(2013,11,1), 
    year         = currentTo.getFullYear() - currentFrom.getFullYear(),
                m1  = currentTo.getMonth() + 1,
                m2  = currentFrom.getMonth() + 1,
                month   = m1 <= m2 ? (12 - m2) + m1 : m1 - m2;

alert("From: " + currentFrom);
alert("To :" + currentTo);


            if (currentTo.getDate() < currentFrom.getDate()) {
                month = month - 1;
            }

            if (month >= 12){ month = 0; }

alert(year + ' ' + month);

但我不知道我如何计算一小时的天数

1 个答案:

答案 0 :(得分:3)

不要单独减去年,月,日等,但只是得到日期之间的差异(以毫秒为单位),然后以您想要的格式(或单位)输出:

var currentTo  = new Date(2015, 6, 1),
    currentFrom  = new Date(2013,11,1),
    difference = currentTo - currentFrom; // number conversion is implicit
var hours = difference / 3600000; // ms -> h
    // now do your maths