D3 无法更改日期

D3 Trouble Altering Date

我正在导入一个 csv 文件,d3 将每一列都视为一个字符串。日期当前存储如下:2016-11-01。我正在尝试更改此列,使其显示为 11 月 16 日(缩写月份,缩写年份)。

这是我目前的代码:

var dateParse = d3.timeParse("%Y-%m-%d") //matches the format in the csv
var monthParse = d3.timeParse("%m %y") //the format I'm looking for

var rowConverter = function (d) {
     return {
          date: dateParse(d.date)
          month: monthParse (d.date) //also tried monthParse(date)
     };
}

d3.dsv(",","my_csv.csv", rowConverter)

我希望这会给我两列:一列是完整的日期,另一列是缩写的月份和年份。我已经使用 console.log() 语句确认 dateParse 工作正常。然而,monthParse 只会导致 NaN。我怎样才能正确填充此列?

d3.timeParse 将字符串转换为 Date 对象。 d3.timeFormat 将日期对象转换为字符串。

您可能正在寻找这样的东西:

const dateParse = d3.timeParse("%Y-%m-%d");
const dateFormat = d3.timeFormat("%m %y");

function rowConverter(d) {
  const date = dateParse(d.date);
  return {
    date: date,
    month: dateFormat(date)
  };
}