JavaScript Date Undefined/NaN in IE8



我用它来测试日期输入是否从今天开始少于 7 天,它适用于所有浏览器,除了 IE9 之外<</p>

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的问题是什么吗?

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")很明显,它根本不需要评论。

最新更新