函数getDate在FireFox和IE

时间:2016-01-21 11:16:11

标签: javascript date cross-browser

我收到了一段代码,可以从xml文件中获取日期。我发现了一个转换日期dd / mm / yyyy的片段。此代码在Google Chrome中运行良好,但在Firefox,IE或Edge中无效。 在浏览器中代码不起作用,该函数返回NaN / NaN / NaN。 但例如:在谷歌浏览器中,已经重新启动了12/2。 dateFormXml的格式是yyyy / mm / dd,输出格式是dd / mm / yyyy 这是我的代码:

function dateConverter(dateFromXml){
   function format(x){
      //if the day/month is smaller then 10 add a 0 in front of it (9->09)
      return (s < 10) ? '0' + x : x;
   }
   var d = new Date(dateFormXml),
       convertedDate = [format(d.getDate()), format(d.getMonth() + 1), d.getFullYear()].join('/');

   return convertedDate;
}

有人可以帮我制作这个跨浏览器吗? :)

1 个答案:

答案 0 :(得分:0)

    function dateConverter(dateFromXml){
        function format(x){
            return (x < 10) ? '0' + x : x;
        }
        var modifiedDate = date.split('-').join('/'),
            d = new Date(modifiedDate),
            convertedDate = [format(d.getDate()), format(d.getMonth()), d.getFullYear()].join('/');

        return convertedDate + time;
    }
你好,伙计们, 感谢所有发表评论的人,我已经解决了我自己的问题。 现在我将解释我的代码。 我在FireFox中所做的是:我将结果打印在&#39; d&#39;并在&#39; dateFromXml&#39;。我看到了那个&#39; d&#39;是firefox中的无效日期和&#39; dateFromXml&#39;返回日期yyyy-mm-dd hh:mm:ss。所以我开始研究,我发现了一个非常有用的网页(http://dygraphs.com/date-formats.html)在这个网页上,你会发现各种日期格式。在这个网页上,我看到我从XML文件获得的日期格式无效,因为它是用&#39; - &#39;而不是&#39; /&#39;所以我把日期分成了&#39; - &#39;并加入&#39; /&#39;。多数民众赞成......:)