2

我有一个数据年和周的专栏。我想基于此创建一个日期轴。

当我尝试格式化日期时,它不起作用

我试过这个:

var parseDate = d3.time.format("%Y-%W").parse;

d3.csv("temperatures_groups_2.csv", function(error, data) {
    data.forEach(function(d,i) {
        d.timestamp = parseDate(d.timestamp);
        alert(d.timestamp);
        d.temperature = +d.temperature;
    }
});

警报执行时我得到空值。

如果我用 d3.time.format("%Y-%m").parse 替换它,它工作正常。它需要一个月而不是一周。

csv包含这样的数据

时间戳,温度 2013-01,19.5 2014-02,21.5 2015-03,20.5 2016-04,20.5 2017-05,21.25

4

2 回答 2

1

这从3.2 版开始有效,并且文档已更新。

  • %U- 一年中的周数(星期日作为一周的第一天)作为十进制数 [00,53]。
  • %W- 一年中的周数(星期一作为一周的第一天)作为十进制数 [00,53]。

但是,您问题中的格式不起作用,因为解析器需要指定特定日期。例如“%a”。在没有日期说明符的情况下假设周日会很好,但这是另一个 PR。

于 2013-12-22T17:52:18.360 回答
1

文档说:

尚不支持解析以下指令:

%U - 一年中的周数。

%W - 一年中的周数。

因此,您不能使用 D3 来解析这些日期。您必须自己解析日期或使用其他库,例如moment.js

于 2013-05-07T17:05:57.313 回答