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