解析ISO-8601格式的日期在IE 9中不起作用

时间:2015-08-12 23:44:32

标签: javascript jquery datetime

我有一个从ajax响应返回的日期(请参阅dateValue变量)。解析该值在chrome中有效但在IE 9中无效。

我错过了什么吗?任何帮助/建议表示赞赏。



var dateValue = "2015-08-12T16:31:51.68";

$('#result').text(Date.parse(dateValue));

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label id="result"></label>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

IE9处于怪癖模式,您希望它处于标准模式。

要了解如何强制使用标准模式,请参阅以下答案:How do I force Internet Explorer to render in Standards Mode and NOT in Quirks?

在怪癖模式下,javascript only works if it was supported in IE6。在version 9

之前,Date.parse不是IE中的JS功能

要检查您是否处于怪癖模式,请运行此JS:

alert('You are in ' + (document.compatMode==='CSS1Compat'?'Standards':'Quirks') + ' mode.')

答案 1 :(得分:1)

在ES5中添加了ISO-8601日期解析,因此并非所有浏览器都支持它。

检查this github项目,了解可能适合您的实现。

或者您可以使用moment.js之类的库来获得更好的跨浏览器功能。

var dateValue = "2015-08-12T16:31:51.68";
$('#result').text(moment(dateValue););