4

我正在尝试使用 d3.js 解析日期字符串。格式就像"2012-11-02T08:32:55-04:00"

您可以在下面看到控制台输出。相关 API 在这里。正如文档所解释的那样,D3 解析器更加严格。但是,我期待 '%Y-%m-%dT%H:%M:%SZ' 作为格式字符串。返回null。任何帮助表示赞赏。

谢谢。

format = d3.time.format('%Y-%m-%dT%H:%M:%SZ')
%Y-%m-%dT%H:%M:%SZ
format.parse("2012-11-02T08:32:55-04:00");
null
format.parse("2011-07-01T19:15:28Z");
Fri Jul 01 2011 19:15:28 GMT-0400 (EDT)
format = d3.time.format('%Y-%m-%dT%H:%M:%S%Z')
%Y-%m-%dT%H:%M:%S%Z
format.parse("2011-07-01T19:15:28Z");
null
format.parse("2012-11-02T08:32:55-04:00");
null
4

2 回答 2

2

根据该API:

尚不支持解析以下指令
%j - 一年中的一天。
%U - 一年中的周数。
%w - 工作日编号。
%W - 一年中的周数。
%Z - 时区偏移量,例如“-0700”。
%% - 文字“%”字符。

因此,除非您删除日期的 -[time_zone] 部分,否则您可能会不走运。

于 2013-03-07T01:59:42.577 回答
0

这已不再是这种情况。时区包含在 d3js 的 3.3.x 版本中。

d3js 拉取请求:https ://github.com/mbostock/d3/pull/1495

于 2014-02-10T16:42:47.637 回答