我写了这样的代码。但它没有给出正确的输出。在这个代码输出应该是-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 ;
}
答案 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。