使用D3版本3.5.17,我注意到了时间解析器的奇怪行为。
JSfiddle for the below example.
例如使用:
var data = [
{'month': '2015-01', 'cnt':1},
{'month': '2015-02', 'cnt':2},
{'month': '2015-03', 'cnt':3},
{'month': '2015-04', 'cnt':4},
{'month': '2015-05', 'cnt':5},
{'month': '2015-06', 'cnt':6},
{'month': '2015-06', 'cnt':7}
],
dateFormat = d3.time.format('%Y-%m');
data.forEach(function(x) {
x.month = dateFormat.parse(x.month);
console.log(x.month, x.cnt);
});
我有以下内容:
Date 2015-01-01T00:00:00.000Z 1
Date 2015-02-01T00:00:00.000Z 2
Date 2015-03-01T00:00:00.000Z 3
Date 2015-03-31T23:00:00.000Z 4 <-- ?
Date 2015-04-30T23:00:00.000Z 5 <-- ?
Date 2015-05-31T23:00:00.000Z 6 <-- ?
Date 2015-05-31T23:00:00.000Z 7 <-- ?
这是正常行为吗?我的代码有什么问题吗?
有没有办法在解析之前编辑数据,以便有正确的月份?