我用这个来测试日期输入是否距今天所有浏览器的日期不到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的问题是什么?
答案 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")
非常明显,根本不需要评论。