【问题标题】:D3 TimeParse FormattingD3 TimeParse 格式化
【发布时间】:2021-10-02 18:50:36
【问题描述】:

一直在处理 D3 任务,而 timeParse 真的不适合我。

所附图像是我正在使用的 csv 的日期数据(已加载 d3.dsv),我使用 var parseTime = d3.timeParse("%m-%d-%Y") 来加载它,但它总是返回 null。我也尝试过(%e-%d-%Y) 变化无济于事。有趣的是,第一种格式昨天有效,现在当我今天尝试继续我的工作时它给出了 null。任何帮助将不胜感激。

【问题讨论】:

    标签: javascript d3.js


    【解决方案1】:

    由于您没有提供该数据,我假设数据和下面的代码有效。

    要注意的一件事是,在您的数据中,您使用正斜杠 (/) 分隔日、月和年。但是,在 d3.timeParse 中,您使用连字符 (-)。两者必须匹配。

    let data = [
      { date: "11/22/2016", cat: 5 },
      { date: "12/22/2016", cat: 4 },
      { date: "01/22/2017", cat: 3 },
      { date: "02/22/2017", cat: 2 },
    ];
    
    parseTime = d3.timeParse("%m/%d/%Y");
    
    data.forEach((d) => console.log(d.date));
    
    data.forEach((d) => (d.date = parseTime(d.date)));
    
    data.forEach((d) => console.log(d.date));
    
    console.log(data);
    

    输出

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 2016-03-29
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多