我的日期差异功能在chrome中工作但在firefox

时间:2016-03-04 07:10:32

标签: javascript google-chrome firefox

我的日期格式为

06-Feb-2013

实际上我正在做的是我有格式06-Feb-2013的日期,我必须用年和月来计算当前日期和给定日期之间的差异。

以下代码就是我正在使用的代码,但此代码在 chrome 中正常工作,但在 firefox 中却没有,:

var d =  new Date();
var StartedDriving = "06-Feb-2013";

if(StartedDriving != 0){
    var dd= new  Date(StartedDriving);
    var timeDiff = Math.abs(d.getTime() - dd.getTime());
    var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
    var n =(diffDays/365);  
    var y = Math.floor(n);            // whole years
    var m = Math.floor(12 * (n - y)); // treat remainder as fraction of a year
    var Experience = document.getElementById("exp");
    Experience.innerHTML = y +" Years ,"+ m + " Months";
}

我得到输出为

Chrome output

火狐:
Firefox output

有没有办法可以让它在chrome和firefox中都能正常工作。

JSfiddle link.

1 个答案:

答案 0 :(得分:1)

您需要传递ISO日期格式YYYY-MM-DDYYYY-MM-DDTHH:MM:SS以确保日期函数正确解析字符串。

Check updated fiddle

如果您正在使用日期和时间进行其他操作,最好使用momemt.js之类的库而不是使用vanilla js。

我还没有通过IE测试。