javascript新日期在chrome中工作但不在firefox中

时间:2014-05-26 19:08:55

标签: javascript

我试图从隐藏字段中获取日期值并在javascript中转换为正确的日期格式。系统可以工作,但只能在chrome中使用。我的代码是

        var futureDate  = new Date($(".camp_end_date").val());
        //alert(futureDate);

隐藏字段值为

2014-06-02 00:00:00

当我在Chrome上提醒它时,它会输出Mon Jun 02 2014 00:00:00 GMT+0530(India Standard Time),但在chrome和所有其他浏览器中,它会输出invalid date

1 个答案:

答案 0 :(得分:4)

这是因为您的日期既不是有效的RFC2822也不是有效的ISO 8601,它们是dateString constructor in Date object支持的格式。出于某种原因,Chrome似乎接受更广泛的格式,包括您的格式,这不是严格有效的ISO 8601日期。有效日期为:

2014-06-02T00:00:00

我能想到的最简单的解决方法是在将空格添加到Date构造函数之前用T替换空格:

var futureDate = new Date($(".camp_end_date").val().replace(" ", "T"));