2
var dt1=new Date("2013/05/25"); //yyyy/MM/dd
var dt2=new Date("2013/05/24");

if(dt1>dt2)
{
    alert("invalid Date!");  
}

此代码适用于所有浏览器..

但是如果我们选择:

var dt1=new Date("25/05/2013"); //dd/MM/yyyy
var dt2=new Date("24/05/2013");

if(dt1>dt2)
{
    alert("invalid Date!");  
}

此代码不适用于所有浏览器?为什么?所有浏览器都应该接受任何特定的日期格式吗?DateTime 也有任何标准吗?谢谢........

4

2 回答 2

3

是的, Javascript Date Object有一个标准。

其中一个构造函数是new Date(dateString);,对于 dateString 有一个解释:

表示日期的字符串值。该字符串应采用解析方法可识别的格式(符合 IETF 的 RFC 2822 时间戳)。

而在 IE 中, IE WAY有点不同

所以做你想做的最安全的方法是使用最后一个构造函数:

new Date(year, month, day [, hour, minute, second, millisecond]);

或者你的 dateString 必须是yyyy/mm/dd

于 2013-06-01T10:03:24.407 回答
0

是的dd/MM/yyyy 格式将不支持所有浏览器,我们也不会将这种类型的日期格式更改为字符串,即使在 php 中,我们也不会通过 strtotime() 函数使用这种格式

于 2013-06-01T09:56:17.263 回答