这是我发现的。2012 年 10 月 4 日午夜至 10 月 5 日午夜有 25 个小时。也许在世界的某个地方有一个我不知道的dst?
当您调用 javascripts innate getTime: -in IE 和 Mozilla 时。- 这仍然在客户端。一天通常有 86400 秒,10 月 5 日和 4 日之间的差异甚至是 90000 (额外一小时)-仅 2012 失败。-> 2011 年 7 月 5 日 – 2011 年 5 月 10 日有效……2012 年无效。-07/04/2012 – 10/04/2012 作品。
这是代码的摘录。元素是格式为“mm/dd/yyyy”的字符串
var fromDateElement = document.getElementById("filterFromDate");
var toDateElement = document.getElementById("filterToDate");
if (fromDateElement == null || fromDateElement.value == ""
|| toDateElement == null || toDateElement.value == "") {
alert(dojoCallGetLocalizedMessage("please.enter.filter.dates"));
return false;
}
var fromArr = fromDateElement.value.split("/");
var toArr = toDateElement.value.split("/");
var timeSpread = (new Date(toArr[2],toArr[0],toArr[1]).getTime()) -
(new Date(fromArr[2],fromArr[0],fromArr[1]).getTime());
if (timeSpread > <%= ONE_DAY_IN_MILLIS %>) {
alert(dojoCallGetLocalizedMessage("not.a.day"));
return false;
}
return true;
(以毫秒为单位的一天设置为 864000000)此外,还有逻辑可以接受 dst 但不是在 10 月