首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaScript:哪些浏览器支持使用Date.parse解析ISO8601日期字符串

JavaScript:哪些浏览器支持使用Date.parse解析ISO8601日期字符串
EN

Stack Overflow用户
提问于 2011-04-27 18:13:02
回答 6查看 40.1K关注 0票数 51

我无法在IE8和Safari5上解析ISO-8601日期"2011-04-26T13:16:50Z“,但它在Chrome10和FF4上可以工作。支持似乎相当复杂?

有没有人知道哪些浏览器可以解析这种格式的实际状态?我假设IE6和7也会失败。

代码语言:javascript
运行
复制
var d = Date.parse("2011-04-26T13:16:50Z");
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-10-17 21:08:17

我今天遇到了这个问题。我发现momentjs是跨浏览器环境下解析ISO8601日期的好方法。

momentjs还可以用来以不同的格式输出日期。

票数 19
EN

Stack Overflow用户

发布于 2013-11-27 00:50:07

在任何浏览器中解析ISO8601日期格式的简单函数:

代码语言:javascript
运行
复制
function dateFromISO8601(isoDateString) {
  var parts = isoDateString.match(/\d+/g);
  var isoTime = Date.UTC(parts[0], parts[1] - 1, parts[2], parts[3], parts[4], parts[5]);
  var isoDate = new Date(isoTime);

  return isoDate;
}
票数 18
EN

Stack Overflow用户

发布于 2012-05-25 17:32:18

ES5规范与ISO8601规范不同,特别是在处理没有时区指示符/偏移量的日期时。在https://bugs.ecmascript.org/show_bug.cgi?id=112上有一个描述这个问题的错误标签,看起来这个问题将在ES6中得到修复。

现在,我建议在https://github.com/csnover/js-iso8601中寻找跨浏览器的实现。我使用的是https://github.com/csnover/js-iso8601/tree/lax,它不符合ES5规范,但与JSON.NET等其他JSON序列化库有更好的互操作性。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5802461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档