解析ISO-8601格式日期在ie9中不工作

Parsing ISO-8601 format date not working in IE 9

本文关键字:工作 ie9 ISO-8601 格式 日期 解析      更新时间:2023-09-26

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

我错过什么了吗?任何帮助/建议都是非常感谢的。

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>

IE9是在怪癖模式,你希望它在标准模式。

要了解如何强制标准模式,请参阅这个答案:我如何强制Internet Explorer在标准模式而不是在Quirks中渲染?

在quirks模式下,javascript只有在IE6中支持时才能工作。Date.parse在IE中直到版本9才成为JS特性

要检查你是否在quirks模式,运行这个JS:

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

ISO-8601日期解析是在ES5中添加的,所以不是所有的浏览器都支持它。

检查这个github项目,以获得可能适合您的实现。

或者你可以使用像moment.js这样的库来获得更好的跨浏览器功能。

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