2012年10月4日至10月5日,javascript额外增加一小时

2012年10月4日至10月5日,javascript额外增加一小时,javascript,date,Javascript,Date,这是我发现的。 2012年10月4日午夜至10月5日午夜有25小时。 也许在世界的某个地方有一个我不知道的dst 调用javascripts和getTime时: -在IE和Mozilla中。 -这仍然是在客户端。 通常一天有86400秒,10月5日和4日之间的差值为90000偶数(额外一小时) -仅在2012年失败。->2011年5月7日至2011年5月10日有效……2012年无效。 -2012年4月7日至2012年4月10日工程 这是代码的摘录。元素是格式为“mm/dd/yyyy”的字符串 v

这是我发现的。 2012年10月4日午夜至10月5日午夜有25小时。 也许在世界的某个地方有一个我不知道的dst

调用javascripts和getTime时: -在IE和Mozilla中。 -这仍然是在客户端。 通常一天有86400秒,10月5日和4日之间的差值为90000偶数(额外一小时) -仅在2012年失败。->2011年5月7日至2011年5月10日有效……2012年无效。 -2012年4月7日至2012年4月10日工程

这是代码的摘录。元素是格式为“mm/dd/yyyy”的字符串

var fromDateElement=document.getElementById(“filterFromDate”);
var toDateElement=document.getElementById(“filterToDate”);
如果(fromDateElement==null | | fromDateElement.value==“”
||toDateElement==null | | toDateElement.value==“”){
警报(dojoCallGetLocalizedMessage(“请输入.筛选.日期”);
返回false;
}
var fromArr=fromDateElement.value.split(“/”);
var toArr=toDateElement.value.split(“/”);
var timeSpread=(新日期(toArr[2]、toArr[0]、toArr[1])。getTime()
(新日期(fromArr[2]、fromArr[0]、fromArr[1]).getTime();
如果(时间间隔>){
警报(dojoCallGetLocalizedMessage(“非一天”);
返回false;
}
返回true;
(以毫秒为单位的一天设置为864000000)
此外,在JavaScript中,dst是有逻辑的,但不是在10月,月份从
0
(1月)到
11
(12月)-请参见-so month#
10
是11月,而不是10月。您需要从月数中减去
1

    var timeSpread = (new Date(toArr[2],toArr[0]-1,toArr[1]).getTime()) - 
            (new Date(fromArr[2],fromArr[0]-1,fromArr[1]).getTime());

编辑后添加为了所有非美国读者的利益:2012年11月4日,美国大部分地区将从夏令时开始“倒退”:否则将是凌晨2:00,时钟将调回凌晨1:00。所以那一天实际上有25个小时。

在JavaScript中,月份是从
0
(1月)到
11
(12月)-请参见-So month#
10
是11月,而不是10月。您需要从月数中减去
1

    var timeSpread = (new Date(toArr[2],toArr[0]-1,toArr[1]).getTime()) - 
            (new Date(fromArr[2],fromArr[0]-1,fromArr[1]).getTime());

编辑后添加为了所有非美国读者的利益:2012年11月4日,美国大部分地区将从夏令时开始“倒退”:否则将是凌晨2:00,时钟将调回凌晨1:00。所以这一天实际上有25个小时。

你能打印两个日期的
newdate().toString()
?它会说它使用哪个时区。请看这个问题:是否可以打印两个日期的
newdate().toString()
?它会说它使用哪个时区。请看这个问题:谢谢。我想这是和dst有关的事情。本·富兰克林你引起了很多麻烦problems@user555075:不客气!是的,这周我一直在处理一些令人痛苦的DST工作,所以我完全明白你的意思-谢谢你。我想这是和dst有关的事情。本·富兰克林你引起了很多麻烦problems@user555075:不客气!是的,这周我一直在处理一些令人痛苦的DST工作,所以我完全明白你的意思-P