2016-01-21 56 views
1

我得到了一段从xml文件中获取日期的代码片段。我发现了一个代码转换日期dd/mm/yyyy。此代码在Google Chrome中正常工作,但在Firefox,IE或Edge中无法正常工作... 在浏览器中代码无法正常工作,函数将返回NaN/NaN/NaN。但例如:在谷歌浏览器中,重新启动了12/2/2016。 dateFormXml的格式为yyyy/MM/DD和输出格式为DD/MM/YYYY 这里是我的代码:函数getDate在FireFox和IE中不起作用

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; 
} 

谁能帮我做这个跨浏览器吗? :)

+2

你能解释你的代码吗?看起来像缺少一些东西 - 'dateFromXml'没有被使用,'date'没有被定义 –

+1

,同时也发布了样本'dateFromXml'格式被传递给函数 – Nirus

+0

[Date构造函数可能在IE中返回NaN,但在Firefox和Chrome](http://stackoverflow.com/questions/2182246/date-constructor-returns-nan-in-ie-but-works-in-firefox-and-chrome) –

回答

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做的是:我在'd'和'dateFromXml'上打印出我的结果。我在firefox看到'd'是无效日期,'dateFromXml'返回日期yyyy-mm-dd hh:mm:ss。所以我开始研究,我发现了一个非常有用的网页(http://dygraphs.com/date-formats.html)在这个网页上,你会发现所有种类的日期格式。在这个网页上,我看到我从XML文件得到的日期格式无效,因为它是用' - '而不是'/'写的,所以我在' - '上分隔日期,然后加上'/' 。那是所有... :)

相关问题