Javascript日期变量

时间:2013-06-01 09:52:42

标签: javascript

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还有标准吗?谢谢........

2 个答案:

答案 0 :(得分:3)

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

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

  

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

在IE中有点不同IE WAY

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

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

或您的dateString必须为yyyy/mm/dd

答案 1 :(得分:0)

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