Javascript 不理解d3.timeParse的结果?

Javascript 不理解d3.timeParse的结果?,javascript,d3.js,Javascript,D3.js,我无法理解d3.timeParse的工作原理。我在开始时初始化函数,如下所示: var dateParse = d3.timeParse("%Y-%m-%d"); 我把它叫做这里: d3.json("data3.json", function(error, data) { //populating data since i don't have the file data = [{ "date": "2017-01-04", "open": 10430.69 },

我无法理解d3.timeParse的工作原理。我在开始时初始化函数,如下所示:

var dateParse = d3.timeParse("%Y-%m-%d");
我把它叫做这里:

d3.json("data3.json", function(error, data) {
  //populating data since i don't have the file
  data = [{
    "date": "2017-01-04",
    "open": 10430.69
  }, {
    "date": "2017-01-05",
    "open": 10584.56
  }];

  data.forEach(function(d) {
    d.dd = dateParse(d.date);
    console.log(d.dd);
  });
问题是
console.log(d.dd)返回以下字符串

2017年1月4日星期三00:00:00 GMT-0400(南非西部标准时间)

应在何时返回此文件:

2017-01-04

我已尝试将参数的格式(如果实际是这样的话)从
%Y-%m-%d”
更改为其他格式,但任何更改都返回null

感谢您的帮助


谢谢。

使用
timeFormat
,并将
d.date
包装到
新日期(d.date)

var dateParse=d3.timeFormat(“%Y-%m-%d”);
风险值数据=[{
“日期”:“2017-01-04”,
“开放”:10430.69
}, {
“日期”:“2017-01-05”,
“开放”:10584.56
}];
data.forEach(函数(d){
d、 dd=日期解析(新日期(d.Date));
控制台日志(d.dd);
});

您还可以使用moment.js库,所有与日期相关的操作都会变得非常简单

如果你有图书馆,你可以试试这个

data.forEach(函数(d){
d、 dd=时刻(d[“日期”],“YYYY-MM-dd”);;
控制台日志(d.dd);

});我很确定这是一个。。。代码将字符串解析为日期对象,并记录该对象的字符串表示形式。就我所知,它确实做了它应该做的。为什么要解析一个日期字符串并将其原封不动地打印出来?你到底想达到什么目的?你能看看这个吗?这就是我这么做的原因,我仍然不明白为什么图表没有填满。不幸的是,我不知道这个问题的答案。