【问题标题】:Invalid data table format: column #2 must be of type 'date,number,datetime'.×无效的数据表格式:第 2 列的类型必须为“日期、数字、日期时间”。×
【发布时间】:2025-12-28 16:25:06
【问题描述】:

我有以下数据。如果我尝试使用 PHP 生成它,则会显示此错误:

无效的数据表格式:第 2 列必须是类型 '日期,数字,日期时间'。

chartData: [
    [ 'Action', '',       new Date(0,0,0,12,0,0),  new Date(0,0,0,14,0,0) ],
    [ 'Action', '',    new Date(0,0,0,14,0,0),  new Date(0,0,0,15,30,0) ],
    [ 'Action', '',        new Date(0,0,0,16,0,0),  new Date(0,0,0,17,30,0) ],
    [ 'Navigation',   'home',    new Date(0,0,0,12,30,0), new Date(0,0,0,14,0,0) ],
    [ 'Navigation',   'slider', new Date(0,0,0,14,1,0), new Date(0,0,0,16,0,0) ],
    [ 'Navigation',   'foodMenu',     new Date(0,0,0,16,1,0), new Date(0,0,0,18,0,0) ],
    [ 'Heart Beat', '',       new Date(0,0,0,12,0,0),  new Date(0,0,0,14,0,0) ],
    [ 'Heart Beat', '',    new Date(0,0,0,14,0,0),  new Date(0,0,0,15,30,0) ],
    [ 'Heart Beat', '',        new Date(0,0,0,16,0,0),  new Date(0,0,0,17,30,0) ]]

这是我的 PHP 代码:

$data = [[ 'Action', '',       'new Date(0,0,0,12,0,0)',  'new Date(0,0,0,14,0,0)' ],
    [ 'Action', '',    'new Date(0,0,0,14,0,0)',  'new Date(0,0,0,15,30,0)' ],
    [ 'Action', '',        'new Date(0,0,0,16,0,0)',  'new Date(0,0,0,17,30,0)' ],
    [ 'Navigation',   'home',    'new Date(0,0,0,12,30,0)', 'new Date(0,0,0,14,0,0)' ],
    [ 'Navigation',   'slider', 'new Date(0,0,0,14,1,0)', 'new Date(0,0,0,16,0,0)' ],
    [ 'Navigation',   'foodMenu',     'new Date(0,0,0,16,1,0)', 'new Date(0,0,0,18,0,0)' ],
    [ 'Heart Beat', '',       'new Date(0,0,0,12,0,0)',  'new Date(0,0,0,14,0,0)' ],
    [ 'Heart Beat', '',    'new Date(0,0,0,14,0,0)',  'new Date(0,0,0,15,30,0)' ],
    [ 'Heart Beat', '',        'new Date(0,0,0,16,0,0)',  'new Date(0,0,0,17,30,0)' ]];

$jsonTable = json_encode($data);

【问题讨论】:

标签: javascript php google-visualization timeline


【解决方案1】:

在将 json 作为字符串传递时,不能在日期上使用 new 关键字。

改为使用 google 的 date string 表示,
这基本上只是删除了new 关键字。

"Date(0,0,0,12,0,0)"

但是,为了使用上述内容,
您将需要使用此处找到的 json 格式(忽略此处的日期示例)...

Format of the Data Table Constructor's JavaScript Literal data Parameter

【讨论】: