Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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日期不同的天数等于毫秒_Javascript - Fatal编程技术网

javascript日期不同的天数等于毫秒

javascript日期不同的天数等于毫秒,javascript,Javascript,var d1='31.05.2012'; 风险值d2='01.06.2012'; 变量s1=d1.拆分('.'); var s2=d2.拆分('.'); var nd1=新日期(s1[2],s1[1],s1[0]); var nd2=新日期(s2[2],s2[1],s2[0]); $('a').html(s1+'-'+s2+'='+nd2.getTime()+'-'+nd1.getTime()); $('#b').html( nd1.getFullYear()++'-'+nd1.getMonth

var d1='31.05.2012';
风险值d2='01.06.2012';
变量s1=d1.拆分('.');
var s2=d2.拆分('.');
var nd1=新日期(s1[2],s1[1],s1[0]);
var nd2=新日期(s2[2],s2[1],s2[0]);
$('a').html(s1+'-'+s2+'='+nd2.getTime()+'-'+nd1.getTime());
$('#b').html(
nd1.getFullYear()++'-'+nd1.getMonth()++'-'+nd1.getDate()++'
'+nd2.getFullYear()++'-'+nd2.getMonth()++'-'+nd2.getDate() );

有人能解释一下我的代码有什么问题吗??。为什么
31.05.2012
i等于
01.06.2012

Javascript月份是以0为基础的,所以05月份实际上是6月。由于没有6月31日,JS将日期调整为7月1日(JS 06月)

新日期代码应为:

var nd1 = new Date(s1[2], parseInt(s1[1])-1, s1[0]);

Javascript月份是以0为基础的,所以05月份实际上是6月份。由于没有6月31日,JS将日期调整为7月1日(JS 06月)

新日期代码应为:

var nd1 = new Date(s1[2], parseInt(s1[1])-1, s1[0]);

我知道,但现在它是
2012-4-31
2012-5-1
,这不是我想要的,四月份有31天了吗?Javascript中的四月是第三个月。现在我知道你的意思了。但是为什么在secound DIV中同时显示
2012-6-1
?为什么不显示?“6月31日”是一个不可能的日期(在内部JS值中为2012年5月31日),因此JS通过使其有效来进行补偿<代码>31-1/05+1/12->1/6/12。7月1日(JS第6个月)是完全有效的,所以不会改变。我知道,但现在它的
2012-4-31
2012-5-1
,这不是我想要的,4月份有31天了吗?Javascript中的四月是第三个月。现在我知道你的意思了。但是为什么在secound DIV中同时显示
2012-6-1
?为什么不显示?“6月31日”是一个不可能的日期(在内部JS值中为2012年5月31日),因此JS通过使其有效来进行补偿<代码>31-1/05+1/12->1/6/12。7月1日(JS第6个月)是完全有效的,因此不会改变。