2013-05-07 76 views
2

我有一个数据年份为&周的列。我想创建一个基于此的日期轴。d3.js - 基于年份和星期的时间戳

当我试图格式化的日期,它不工作

我尝试这样做:

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

回答

1

documentation说:

以下指令尚不支持解析:

%U - 一年的周数。

%W - 一年的周数。

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

+0

非常感谢Lars。 – 2013-07-11 06:28:08

1

此功能自version 3.2documentation已更新。

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

但是,您的问题的格式将无法正常工作,因为解析器需要指定一个特定的日期。例如。由“%a”。如果没有日期说明符,假设星期天会很好,但那是另一个PR。

相关问题