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个月)是完全有效的,因此不会改变。