Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Highcharts:x值作为日期_Javascript_Highcharts - Fatal编程技术网

Javascript Highcharts:x值作为日期

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',

对于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', 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], ....]
希望这对你有用