我想绘制包含日期时间值的x轴的Highchart。Highcharts日期时间X轴无效日期
例JSON数据点:
"DATA": [
["June, 01 2015 00:00:00", "01\/06\/2015 02:51 PM", "June, 01 2015 14:51:00", "Date.UTC(2015,6,1,14,51)", 1433134260, null, 12.17],
["June, 01 2015 00:00:00", "01\/06\/2015 02:53 PM", "June, 01 2015 14:53:00", "Date.UTC(2015,6,1,14,53)", 1433134380, 1.28, null],
["June, 01 2015 00:00:00", "01\/06\/2015 02:54 PM", "June, 01 2015 14:54:00", "Date.UTC(2015,6,1,14,54)", 1433134440, null, 9.58],
["June, 01 2015 00:00:00", "01\/06\/2015 02:56 PM", "June, 01 2015 14:56:00", "Date.UTC(2015,6,1,14,56)", 1433134560, null, 7.78],
["June, 01 2015 00:00:00", "01\/06\/2015 02:58 PM", "June, 01 2015 14:58:00", "Date.UTC(2015,6,1,14,58)", 1433134680, 1.7, null],
["June, 01 2015 00:00:00", "01\/06\/2015 02:59 PM", "June, 01 2015 14:59:00", "Date.UTC(2015,6,1,14,59)", 1433134740, null, 5.25]
]
从最后2列
除了,所有的列表示相同的日期时间。
我需要绘制日期时间列的最后2列。
我试图用Date.UTC
和millisecond
列作图,但得到了invalid date
错误。
x轴定义为datetime
。
你可以请建议使用正确的日期时间格式?
编辑1:我相信UTC日期格式Date.UTC(2015,6,1,14,51)
而不是"Date.UTC(2015,6,1,14,51)"
应该解决这个问题。现在尝试进行转换。
编辑2:JSFiddle 小提琴按预期工作。
但是,在代码中使用JSON调用时,发生错误。
JSON:[ { "EMAIL": 1.05 "PROBE_START_TIME_MS": 1433228764000, }, { "EMAIL": 1.82, "PROBE_START_TIME_MS": 1433228944000, }, { "EMAIL": "1.56", "PROBE_START_TIME_MS": 1433229064000, }, { "EMAIL": 1.6, "PROBE_START_TIME_MS": 1433229244000, }]
代码:
$.each(jsonResult, function(key,index) {
Email_Time.data.push(this.PROBE_START_TIME_MS, this.EMAIL);
});
输出:
艾迪牛逼3:工作液
$.getJSON("Json_Data.cfm", {}, function(EmailResult) {
var Email_Time = {
name: "Email",
type: "line",
color: "#A5BC4E",
data: [],
marker: {
radius: 1
}
};
$.each(EmailResult.DATA, function() {
//alert(this);
Email_Time.data.push(this);
});
options.series[0] = Email_Time;
chart = new Highcharts.Chart(options);
});
三件事:'Date.UTC(2015,6,1,14,59)'是七月一日,不是六月。请记住,JS中的月份是0-11,其中0- Janyary,12月1日。其次,为什么你不能使用时间戳(第5列)?那就是时间戳(以秒为单位),所以简单地乘以1000即可。最后一件事,你说所有的日期都是一样的,但时间戳是不同的?例如:'new Date(1433134740000)'=>'Mon Jun 01 2015 06:59:00 GMT + 0200'。 –
@PawełFus:我得到正确的结果'新日期(1433134740000)'=>'星期一2015年6月1日14:59:00 GMT + 1000(美国东部标准时间)'。必须是不同的客户端位置问题。无论如何,我仍然无法在图表上显示正确的日期。当使用毫秒为x轴时,它仍然显示'无效日期'。 –
由于x需要解析时间戳,并且不能使用函数行Date.UTC()。为了准备JSON,你应该转换时间。 –