Timestamp C3.js-从XDB绘制时间序列时如何指定时间戳格式

Timestamp C3.js-从XDB绘制时间序列时如何指定时间戳格式,timestamp,format,time-series,c3.js,influxdb,Timestamp,Format,Time Series,C3.js,Influxdb,XDB时间戳如下所示: 2015-01-29T21:55:43.702900257Z 问题是当我使用C3.js生成图形时,我应该为x轴使用什么选项 我得到的错误是: “未能分析x'2015-01-29T21:55:43.702900257Z'到日期对象” 也许这会帮你做一些快速测试。。。我认为问题在于时间格式,但欢迎提出任何其他建议: axis: { x: { type: 'timeseries', tick: { format

XDB时间戳如下所示:

  • 2015-01-29T21:55:43.702900257Z
问题是当我使用C3.js生成图形时,我应该为x轴使用什么选项

我得到的错误是:

“未能分析x'2015-01-29T21:55:43.702900257Z'到日期对象”

也许这会帮你做一些快速测试。。。我认为问题在于时间格式,但欢迎提出任何其他建议:

axis: {
    x: {
        type: 'timeseries',
        tick: {
            format: '%Y-%m-%d'
        }
    }
}

首先,我必须添加
xFormat
,因为如下所述:

“axis对象中的格式仅定义日期的显示方式。如果要指定日期解析的格式,必须在数据对象中使用xFormat。”

有关
xFormat选项的信息,请参见D3.js/


其次,为了获得正确的格式,我首先使用
Date()
创建了一个日期对象,然后使用
dateObj.toISOString()
更改了每个时间戳。例如,打开控制台并尝试以下操作:

> new Date('2015-09-30T12:21:41.447494312Z').toISOString();
> "2015-09-30T12:21:41.447Z"

XDB发出RFC3339时间戳。快速搜索显示了在javascript中解析RFC3339时间戳的方法。
> new Date('2015-09-30T12:21:41.447494312Z').toISOString();
> "2015-09-30T12:21:41.447Z"