Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用getTime()y查找日期差异?_Javascript - Fatal编程技术网

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

Javascript 无法使用getTime()y查找日期差异?,javascript,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.get

我写了这样的代码。但是它没有给出正确的输出。在这个代码中,输出应该是-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 ;
}
var开始=新日期(“2014年9月4日”);
var结束=新日期(“2014年9月3日”);
var d1=start.getTime();
var d2=end.getTime();
var差=数学四舍五入((d2-d1)/(1000*60*60*24));

if(differenceJavaScript使用日期格式mm/dd/yyyy,但您输入的是dd/mm/yyyy


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

您没有使用英语语言环境,日期的格式是MM/DD/YYYY。

为了避免此类问题,最好使用语法日期(年、月、日)。请注意,月份是以零为基础的

因此,您的前两行变成:

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

这是Java还是Javascript?它们是不同的语言。无论如何,使用特定于位置的日期格式是个坏主意。绝对要坚持使用
YYYY-MM-DD
(ISO 8601)@cloudfeets。想把它添加到答案中吗?:)说真的,以零为基础的月份是有史以来最糟糕的主意。>_没错,但似乎只有IE9+支持ISO 8601,所以我会坚持使用这种格式一段时间。