无法使用getTime()y找到日期差异?

时间:2014-11-28 13:50:31

标签: javascript

我写了这样的代码。但它没有给出正确的输出。在这个代码输出应该是-1。但是它给了-31 y?

var start= new Date("04/09/2014");
var end= new Date("03/09/2014");
var d1=start.getTime();
var d2=end.getTime();
var difference = Math.round((d2-d1)/(1000*60*60*24));
if(difference<0){
document.getElementById("demo").innerHTML = difference ;
}

3 个答案:

答案 0 :(得分:1)

JavaScript使用日期格式mm / dd / yyyy,但您输入的格式为dd / mm / yyyy。

更好的方法,正如@cloudfeet所评论的那样:“无论如何使用特定于地点的日期格式是一个坏主意。坚持使用YYYY-MM-DD(ISO 8601)。”

答案 1 :(得分:1)

为避免出现这类问题,最好使用语法Date(年,月,日)。请注意,月份为零!

所以,你的前两行成为:

var start = new Date(2014, 8, 4);  
var end = new Date(2014, 8, 3);

答案 2 :(得分:0)

您没有使用英语区域设置,日期格式为MM / DD / YYYY。