不了解d3.timeParse的结果吗? [英] Not understanding result of d3.timeParse?

查看:98
本文介绍了不了解d3.timeParse的结果吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法理解d3.timeParse的工作方式.我像这样一开始就初始化了函数:

I'm having trouble understanding how d3.timeParse works. I initialize the function at the beginning like this:

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(美国西部标准时间)

Wed Jan 04 2017 00:00:00 GMT-0400 (SA Western Standard Time)

何时应返回以下内容:

2017-01-04

2017-01-04

我尝试将参数的格式(如果确实如此)从"%Y-%m-%d"更改为其他任何格式,但是任何更改都会返回 null .

I've tried changing the format of the parameter (if that's what this really is) from "%Y-%m-%d" to anything else, but any change returns null.

感谢您的帮助.

谢谢.

推荐答案

使用timeFormat,然后将d.date包装到new Date(d.date):

  var dateParse = d3.timeFormat("%Y-%m-%d");
  var data = [{
    "date": "2017-01-04",
    "open": 10430.69
  }, {
    "date": "2017-01-05",
    "open": 10584.56
  }];

  data.forEach(function(d) {
    d.dd = dateParse(new Date(d.date));
    console.log(d.dd);
  });

<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.13.0/d3.min.js"></script>

这篇关于不了解d3.timeParse的结果吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆