我的日期格式为
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和firefox中都能正常工作。
答案 0 :(得分:1)
您需要传递ISO日期格式YYYY-MM-DD
或YYYY-MM-DDTHH:MM:SS
以确保日期函数正确解析字符串。
如果您正在使用日期和时间进行其他操作,最好使用momemt.js之类的库而不是使用vanilla js。
我还没有通过IE测试。