我用它来测试日期输入是否从今天开始少于 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")
很明显,它根本不需要评论。