Javascript Highcharts:x值作为日期
对于Highcharts,我有一个数组列表[x,y]。我的x值是时间戳,格式为2013-04-30 00:04:00 以下是Highchart选项的示例:Javascript Highcharts:x值作为日期,javascript,highcharts,Javascript,Highcharts,对于Highcharts,我有一个数组列表[x,y]。我的x值是时间戳,格式为2013-04-30 00:04:00 以下是Highchart选项的示例: series: [{ name: '2013-04-30', data: [['2013-04-30 00:00:00', 30], ['2013-04-30 00:01:00', 32], ['2013-04-30 00:02:00', 40], ['2013-04-30 00:03:00',
series: [{
name: '2013-04-30',
data: [['2013-04-30 00:00:00', 30], ['2013-04-30 00:01:00', 32], ['2013-04-30 00:02:00', 40], ['2013-04-30 00:03:00', 21], ['2013-04-30 00:04:00', 28]]
}]
我的时间戳可能以不规则的间隔出现
我意识到我不能这样做,因为时间戳是字符串,它们只是被解释为点的名称。是否需要将时间戳转换为Date.UTC?这是唯一的办法吗?e、 g.2013-04-30 00:01:00->日期:UTC2013,04,30,0,1,0。我猜这将需要大量字符串与Date.UTC+year+,+month+,+day等连接
只是想知道是否有更简单的方法来做这件事…谢谢 这些几乎都是ISO日期字符串,看起来像2013-04-03T00:00:00,Datestring构造函数可以采用ISO字符串 在Chrome中,这是可行的。如果在末尾添加Z,则将其作为UTC时间。如果你不选它,它会被当作当地时间。如果需要,可以为各个时区添加字符串
var d = '2013-04-30 00:00:00Z';
var date = new Date(d);
在FireFox和IE9中,您必须添加“T”。如2013-04-30T00:00:00Z所示
因此,您可以在这三种情况下使用:
var d = '2013-04-30 00:00:00';
var date = new Date(d.replace(' ', 'T') + 'Z')
这里有一个小问题:这些几乎都是ISO日期字符串,看起来像2013-04-03T00:00:00,Datestring构造函数可以接受ISO字符串 在Chrome中,这是可行的。如果在末尾添加Z,则将其作为UTC时间。如果你不选它,它会被当作当地时间。如果需要,可以为各个时区添加字符串
var d = '2013-04-30 00:00:00Z';
var date = new Date(d);
在FireFox和IE9中,您必须添加“T”。如2013-04-30T00:00:00Z所示
因此,您可以在这三种情况下使用:
var d = '2013-04-30 00:00:00';
var date = new Date(d.replace(' ', 'T') + 'Z')
这里有一把小提琴:是的,您可以使用UNIX时间戳,我指的是以毫秒为单位的时间戳。highcharts接受它们作为x轴日期时间类型的直接整数输入 ex:30/04/2013 00:00:00=1367260200000 你可以像这样传递这个值
data: [[1367260200000, 30],[1367260260000, 32], ....]
希望这对您有用。是的,您可以使用UNIX时间戳,我指的是以毫秒为单位的时间戳。highcharts接受它们作为x轴日期时间类型的直接整数输入 ex:30/04/2013 00:00:00=1367260200000 你可以像这样传递这个值
data: [[1367260200000, 30],[1367260260000, 32], ....]
希望这对你有用