使用时间线谷歌图表api与DataTable初始化
Using timeline google chart api with DataTable initialization
我正在尝试实现时间线google chart
https://developers.google.com/chart/interactive/docs/gallery/timeline
但是使用CCD_ 2在生成CCD_。所有日期默认设置为dec 31 1969
。我知道我传递了一个错误的日期格式。我该怎么解决这个问题。
尝试以两种方式实现:
$table['cols'] = array(
array('id' => 'Role', 'type' => 'string'),
array('id' => 'Name', 'type' => 'string'),
array('id' => 'Start', 'type' => 'date'),
array('id' => 'End', 'type' => 'date')
);
单向:
$temp[] = array('v' => (string) $row['FirstName']); /*mysql and mysqli security please ignore */
$temp[] = array('v' => (string) $row['FirstName']);
$temp[] = array('v' => date('D M d Y H:i:s O',$row['HireDate'])); /*tried without date function also*/
$temp[] = array('v' => date('D M d Y H:i:s O',$row['ExpectedEndDate']));
$rows[] = $temp;
其他方式:
$temp[] = $row['FirstName'];
$temp[] = $row['FirstName'];
$temp[] =date('D M d Y H:i:s O',$row['HireDate']);
$temp[] =date('D M d Y H:i:s O',$row['ExpectedEndDate']);
$rows[] = $temp;
然后将其存储到表中并将其转换为CCD_ 5。
$table['rows'] = $rows;
$jsonTable = json_encode($table);
使用谷歌可视化DataTable
将其存储为javascript变量,如下所示:
var dataTable = new google.visualization.DataTable(<?php echo $jsonTable;?>);
但由于日期格式冲突(我认为),图表没有输出
在检查最终生成的输出时,变量将值存储为:
var dataTable = new google.visualization.DataTable({"cols":[{"id":"Role","type":"string"},{"id":"Name","type":"string"},{"id":"Start","type":"date"},{"id":"End","type":"date"}],"rows":[[{"v":"bob"},{"v":"bob"},{"v":"Wed Dec 31 1969 16:33:28 -0800"},{"v":"Wed Dec 31 1969 16:33:33 -0800"}],[{"v":"alan"},{"v":"alan"},{"v":"Wed Dec 31 1969 16:33:28 -0800"},{"v":"Wed Dec 31 1969 16:33:33 -0800"}]]});
有人能建议如何让它发挥作用吗。提前谢谢。
这是您的问题:
$temp[] = array('v' => date('D M d Y H:i:s O',$row['HireDate']));
日期必须以非常特定的字符串格式输入:"Date(year, month, day, hours, minutes, seconds)"
,其中month
是月份的零索引,month
之后的所有内容都是可选的(默认值为1表示day
,0表示其他内容)。要以这种格式输入日期,您应该执行以下操作:
$date = date('D M d Y H:i:s O',$row['HireDate']));
$year = (int) date_format($date, 'Y');
$month = ((int) date_format($date, 'm')) - 1; // adjust to javascript's 0-indexed months
$day = (int) date_format($date, 'd');
$hours = (int) date_format($date, 'H');
$minutes = (int) date_format($date, 'i');
$seconds = (int) date_format($date, 's');
$temp[] = array('v' => "Date($year, $month, $day, $hours, $minutes, $seconds");
相关文章:
- 如何更改bigquery API中的计费层选项
- Amazon S3 REST API大小不正确
- 客户端服务器REST API captcha实现
- 使用Facebook live API创建实时视频对象时的隐私设置
- 谷歌放置API:按国家或餐馆名称搜索餐馆
- MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- API密钥使用和检查示例
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 任何方式使AJAX调用Gmail API,而无需通过JS库
- 用我的json数据填充JQuery DataTable
- 谷歌地图JS API+JSON-多个标记没有显示
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 如何在 API 调用后和 if 语句中启用提交按钮
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 搜索api在mac上显示对话框
- Backbone.js restful json API design
- 标记的实时更新,无需加载页面谷歌地图API V3
- 使用时间线谷歌图表api与DataTable初始化
- 如何更改DataTable'使用Javascript的Google Chart API