2015-10-05 35 views
7

influxDB時間戳是這樣的:C3.js - 如何繪製從InfluxDB拍攝時間序列時指定的時間戳格式

  • 2015-01-29T21:55:43.702900257Z

的問題是,哪些選項應該使用爲x-axis時我生成C3.js

的錯誤,我得到的圖形:

「無法解析X‘2015-01-29T21:55:43.702900257Z’到Date對象」

也許這jsfiddle會幫助你做一些快速測試...我認爲這個問題是時間格式,但其他任何建議,歡迎:

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

InfluxDB發出RFC3339時間戳。快速搜索顯示一個[幾](http://stackoverflow.com/questions/11318634(http://stackoverflow.com/questions/11318634)(http://stackoverflow.com/questions/11318634)/how-to-convert-date-in-rfc-3339-to-javascript-date-objectmilliseconds-since)解析JavaScript中的RFC3339時間戳。 – beckettsean

回答

17

首先,我不得不添加xFormat因爲@das Kekshere

「軸對象中的格式只是定義日期的顯示方式。 如果要指定日期的格式解析你在使用數據對象中xFormat。」

data: { 
    x: 'x', 
    xFormat: '%Y-%m-%dT%H:%M:%S.%LZ', 
    columns: [ 
     ['x', ... ], 
     ['data1', ... ] 
    ] 
} 

對於xFormat options看到D3.js/Time Formatting


二,爲了達到正確的格式,我通過首先創建一個Date對象 Date(),然後使用 dateObj.toISOString()來更改每個時間戳。例如,打開控制檯並嘗試以下操作:

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