IE8中的JavaScript日期未定义/ NaN

时间:2012-10-02 08:49:08

标签: javascript date

我用这个来测试日期输入是否距今天所有浏览器的日期不到7天,除了< IE9

var today = new Date("<?=date("Y-m-d")?>"); //eg: 02-10-2012
var arrDate = new Date(startYear+"-"+startMonth+"-"+startDay); //eg: 05-10-2012
var diff = new Date(arrDate - today);
var days = diff/1000/60/60/24;
if(days<7) alert("less than 7 days.");

我没有在IE控制台(F12)中收到错误,但days调试为NaN,是否有人知道IE的问题是什么?

1 个答案:

答案 0 :(得分:14)

IE 8(及以下版本)无法识别y-m-d格式的日期字符串。

我建议您使用y/m/d,因为这可以被所有浏览器识别。


PS:你的评论错了。

new Date("<?=date("Y-m-d")?>"); //eg: 02-10-2012

应该阅读

new Date("<?=date("Y-m-d")?>"); //eg: 2012-10-02

总的来说,您不应该对显而易见的内容进行评论,以避免不反映代码的注释。 date("Y-m-d")非常明显,根本不需要评论。