如何让 Internet Explorer 解析“2010-06-09T15:20:00Z”作为约会?
我正在使用 JavaScript 来处理组合 UTC 格式的日期(例如“2010-06-09T15:20:00Z”)。 IE 没有给出预期的结果(震惊)。以下产生 NaN。
var d = new Date("2010-06-09T15:20:00Z"); // NaN
然而,微软在此页面上的文档说这应该可以工作(就像在 FF 中一样)。我什至从本页复制了 JScript 代码,但它无法运行,并出现与我在工作中发现的相同错误。 (有点让你怀疑 MS 在发布之前是否对其进行了测试,或者 IE 是否由于补丁而损坏)。
格式化日期和时间字符串 (msdn.microsoft .com)
我可以通过删除“T”并将破折号切换为斜杠来让 IE 解析类似的字符串。这样做的问题是我失去了时间的偏移逻辑。
有关如何在 IE 中解决此问题的任何建议。我已经在 IE6 和 IE7(兼容模式)中对此进行了测试。我没有其他 Windows 系统可供检查。
I am using JavaScript to work with dates in combined UTC format (e.g. "2010-06-09T15:20:00Z"). IE is not giving expected results (shock). The following yields NaN.
var d = new Date("2010-06-09T15:20:00Z"); // NaN
However Microsoft's documentation on this page says this should work (like it does in FF). I have even copied the JScript code off of this page and it fails to run giving the same error I am finding in my work. (Kind of makes you wonder if MS testing it before posting or if IE is broken due to a patch).
Formatting Date and Time String (msdn.microsoft.com)
I can get IE to parse similar strings by removing the 'T' and switching the dashes to slashes. The problem with this is that I loose the time's offset logic.
Any suggestions on how to work around this problem in IE. I have tested this in IE6 and IE7 (compatibility mode). I don't have another Windows system to check on.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
对于无麻烦的日期操作,我喜欢使用 Datejs - 开源 JavaScript 日期库,它做了很多事情日期很棒,但使用它的主要成本是 26kb 文件大小。
它将解析
"2010-06-09T15:20:00Z"
For hassle free date manipulation I like to use Datejs - An open-source JavaScript Date Library, it does a lot of great things with dates, the main cost of using it thought is the 26kb filesize.
It will parse
"2010-06-09T15:20:00Z"
我对扩展 Javascript 核心对象的想法感到畏缩,所以我倾向于使用它们。全部归功于Paul Sowden
I cringe at the thought of extending Javascript core objects so I tend to work with them instead. Full credit to Paul Sowden