Javascript C3.js-带时间的Timeseries无法分析
我想使用格式为Javascript C3.js-带时间的Timeseries无法分析,javascript,parsing,time-series,c3.js,Javascript,Parsing,Time Series,C3.js,我想使用格式为2015-09-17 18:20:34的日期和格式字符串'%Y-%m-%d%H:%m:%S'显示带有C3.js的时间序列图,但分析失败 我的代码: var chart = c3.generate({ bindto: '#chart', data: { x: 'times', columns: [ ['times','2015-09-17 18:20:34','2015-09-17 18:25:42','2015-09-17 1
2015-09-17 18:20:34
的日期和格式字符串'%Y-%m-%d%H:%m:%S'
显示带有C3.js
的时间序列图,但分析失败
我的代码:
var chart = c3.generate({
bindto: '#chart',
data: {
x: 'times',
columns: [
['times','2015-09-17 18:20:34','2015-09-17 18:25:42','2015-09-17 18:30:48'],
['data','1539','1546','1546','1550']
]
},
axis: {
x: {
type: 'timeseries',
tick: {
format: '%Y-%m-%d %H:%M:%S'
}
}
}
});
我得到以下错误:
02:26:44.889 Failed to parse x '2015-09-17 18:20:34' to Date object c3.min.js:1:21943
02:26:44.889 Failed to parse x '2015-09-17 18:25:42' to Date object c3.min.js:1:21943
02:26:44.890 Failed to parse x '2015-09-17 18:30:48' to Date object c3.min.js:1:21943
02:26:44.890 Failed to parse x '2015-09-17 18:20:34' to Date object c3.min.js:1:21943
02:26:44.891 Failed to parse x '2015-09-17 18:25:42' to Date object c3.min.js:1:21943
02:26:44.892 Failed to parse x '2015-09-17 18:30:48' to Date object c3.min.js:1:21943
如果我在数据和格式中省略了时间,它会起作用,但我也需要时间。我找到了解决问题的方法:
轴
对象中的格式仅用于定义日期的显示方式。如果要指定日期解析的格式,必须在数据
对象中使用xFormat
var chart = c3.generate({
bindto: '#chart',
data: {
x: 'times',
xFormat: '%Y-%m-%d %H:%M:%S', // how the date is parsed
columns: [
['times','2015-09-17 18:20:34','2015-09-17 18:25:42','2015-09-17 18:30:48'],
['data','1539','1546','1546','1550']
]
},
axis: {
x: {
type: 'timeseries',
tick: {
format: '%Y-%m-%d %H:%M:%S' // how the date is displayed
}
}
}
});
还有另一种向c3 timeseries数组传递日期的方法。在将日期字符串馈送到c3之前,可以将其转换为
var chart = c3.generate({
bindto: '#chart',
data: {
x: 'times',
xFormat: '%Y-%m-%d %H:%M:%S', // how the date is parsed
columns: [
['times',new Date('2015-09-17 18:20:34'),new Date('2015-09-17 18:25:42'),new Date('2015-09-17 18:30:48')],
['data','1539','1546','1546','1550']
]
},
axis: {
x: {
type: 'timeseries',
tick: {
format: '%Y-%m-%d %H:%M:%S' // how the date is displayed
}
}
}
});
如果在将日期字符串转换为日期对象(例如2016-01-01T00:00:00Z)时遇到困难,也可以使用解析日期字符串
var momentjsobject = moment('2016-05-06T00:00:00Z');
var dateObject = new Date(momentjsobject.format('YYYY-MM-DD HH:mm:ss'));
嘿,你有没有得到这个问题的最新消息,我也在等待答案:)@vinodh是的,我找到了解决方案并发布了。:)(如果有帮助的话,请随意投票):D)我已经试过了,但它能提供帮助。。你知道吗?X格式:'%Y/%m/%d%H:%m:%S%A',格式:'%Y-%m-%d%H:%m:%S%A'你的时间数据是什么样子的?2015/09/18 03:03:32 pm改用这个格式字符串:
'%Y/%m/%d%H:%m:%S%p'
:)天哪,要找到有关X格式语法的信息真是太麻烦了。事实上,我没有找到,但注意到它与MySQL DATE_FORMAT()语法类似。在MySQL中,%p是AM/PM的占位符。