Date.parse的用法

时间:2012-02-24 08:31:05

标签: php javascript

我正在尝试使用HighCharts显示图形,我已经堆叠了生成要显示的系列。我所拥有的是数据库中的一系列时间戳。我想显示事件之间的差异所以在Xaxis上我得到了事件之间的时间(当前t2 - 前一个t2)en我有时间。所以现在我想使用Date.parse获得秒数,但它什么也没有返回。我使用错误的Date.parse函数吗?因为当我输入int数字时它会显示一条扁平线。

    $i = 0;     
    foreach ($metingen as $index => $m) { 
        if($i != 0) $js .= ',';
        $js .= "{name: '";
        $js .= "Event time " . substr($m[0]['t1'],0,16);
        $js .= "', data: [";
        $j = 0;
        foreach ($m as $ms) {
            if($j != 0) $js .= ',';
            $js .= Date.parse("2012-01-30 18:21:49")-
                            Date.parse("2012-01-30 18:21:47";//$ms['antaal'];
            $j++;
        }
        $js .=  "]}";
        $i++;
    }

数据库查询以这种格式返回时间:

t1                  antaal  t2
2012-01-30 18:21:41 | 0 |   2012-01-30 18:21:42
2012-01-30 18:21:41 | 1 |   2012-01-30 18:21:43
2012-01-30 18:21:41 | 2 |   2012-01-30 18:21:53
2012-01-30 18:21:41 | 3 |   2012-01-30 18:21:59

1 个答案:

答案 0 :(得分:2)

只需添加一个T

var date = new Date(Date.parse("2012-01-30 18:21:49".replace(" ","T")))

并为Safari添加Z:

var date = new Date(Date.parse("2012-01-30 18:21:49".replace(" ","T")+"Z"))

或有

t1                  antaal  t2
2012-01-30T18:21:41Z | 0 |   2012-01-30T18:21:42Z
2012-01-30T18:21:41Z | 1 |   2012-01-30T18:21:43Z
2012-01-30T18:21:41Z | 2 |   2012-01-30T18:21:53Z
2012-01-30T18:21:41Z | 3 |   2012-01-30T18:21:59Z

然而,对于Safari,您需要更多

http://jsfiddle.net/mplungjan/QkasD/

我认为你的意思是

   $js .= 'Date.parse("'.$m1.'")-Date.parse("'.$m2.'");';

或类似的