在nvd3中格式化日期时出错

时间:2016-10-17 11:07:39

标签: javascript d3.js nvd3.js

我正在使用nvd3显示一个简单的图表,从字符串日期格式化时我得到一个NaN。当我使用具有显式javascript日期的代码时(如注释var testdata)。图表显示正确。这是我的代码。但是我想使用字符串,这里有什么问题?

/

1 个答案:

答案 0 :(得分:0)

嗯,不幸的是,AFAIK nv3d不支持字符串作为日期。几个月前我遇到了同样的问题。

我主要在这里看到两种可能的解决方案:

  1. 如果JavaScript是您的主要数据源,请使用Date.parse()将您的字符串转换为JavaScript日期。
  2. 否则,如果在服务器上生成此JavaScript,请更改服务器代码以呈现JavaScript日期。
  3. 为避免出现时区问题,您应该仔细阅读Date.parse()文档,例如在这里:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/parse

    要缩短 - 如果将ISO格式的字符串传递到Date.parse(),您将获得UTC值(除非指定了时区)。因此Date.parse("2012-03-02")在呈现时会产生2012-03-01 23:00:00或类似效果(如果您不在GMT时区,则使用您当地的时区设置)。