d3在解析

时间:2015-08-05 15:45:59

标签: javascript date d3.js

我的约会时间为“2015-05-04 01:59:36”。我正在解析这些日期如下 -

var d= "2015-05-04 01:59:36";
var input_date_format = d3.time.format("%Y-%m-%d %H:%M:%S");

解析这样的日期 -

input_date_format.parse(d);

我得到这个日期对象 -

2015-05-03T23:59:36.000Z

日期偏移-2小时。系统时钟的时区为+02:00。如何防止这种情况发生?此外,如果我在具有不同时区的另一个系统上运行此d3代码,它会相应地偏移吗?我希望在解析时保留日期。

怎么做? 感谢

1 个答案:

答案 0 :(得分:1)

最简单的解决方案可能是将“-0000”附加到所有时间戳,然后将“%Z”添加到格式字符串的末尾。这样,您明确告诉D3使用UTC作为时间戳。

所以这样:

var d= "2015-05-04 01:59:36";
d += " -0000";
var input_date_format = d3.time.format("%Y-%m-%d %H:%M:%S %Z");

有关their official docs中的D3时间格式的更多信息。