d3.time.scale()未在IE 10和Firefox上输入工作日期

d3.time.scale()未在IE 10和Firefox上输入工作日期,firefox,d3.js,internet-explorer-10,Firefox,D3.js,Internet Explorer 10,我正在尝试使用d3.js构建一个气泡图。我希望我的泡泡颜色根据日期填充。我使用以下函数根据给定的日期生成颜色: color = d3.time.scale().domain([new Date('2013-07-23'), new Date('2013-06-01')]).range(['#98E698', '#1E7B1E']); 在创建图表时,我称之为 .style("fill", function(d) {return colour(new Date("2013-07-8")); });

我正在尝试使用d3.js构建一个气泡图。我希望我的泡泡颜色根据日期填充。我使用以下函数根据给定的日期生成颜色:

color = d3.time.scale().domain([new Date('2013-07-23'), new Date('2013-06-01')]).range(['#98E698', '#1E7B1E']);
在创建图表时,我称之为

.style("fill", function(d) {return colour(new Date("2013-07-8")); }); 
以上代码仅适用于Chrome。在IE 10和Firefox中,
color
函数返回的是NaN而不是颜色代码。为什么?

return color(new Date("2013-07-08")) 
颜色拼写正确,8前面的0在IE10中起作用。读取
新日期(字符串)
,它看起来像是预期的。镀铬:

>new Date("2013-07-8") 
Mon Jul 08 2013 00:00:00 GMT-0700 (Pacific Daylight Time)
在IE10中:

>new Date("2013-07-8") 
Invalid Date 
>new Date("2013-07-08") 
Sun Jul 7 17:00:00 PDT 2013 
要解决此问题,请在必要时通过添加零来清理日期,或使用[d3.time.format]将字符串更改为日期:

(这在IE10中有效)

尝试使用类似d3的方法。选择(this).style(“fill”,currentColor);
>var format = d3.time.format("%Y-%m-%d"); 
>format.parse("2013-07-8") 
Mon Jul 8 00:00:00 PDT 2013