Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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
如何将JSON日期显示到javascript google图表_Javascript_Php_Json_Date_Google Visualization - Fatal编程技术网

如何将JSON日期显示到javascript google图表

如何将JSON日期显示到javascript google图表,javascript,php,json,date,google-visualization,Javascript,Php,Json,Date,Google Visualization,我非常需要帮助,我需要将数据库中的php json数据的日期输出到GoogleChartJavaScript。以下是我的php json代码: 上述代码输出以下内容: [ts:“20170915”,“ph:“8”,“潮湿的”:“1”},{“ts:“20170913”,“ph:“8”,“潮湿的”:“1”},{“ts:“20170916”,“ph:“3”,“潮湿的”:“1”},{“ts:“20170908”,“ph:”2”,“潮湿的”:“1”{“ts:“20170901”,“ph:“3”,“潮湿的”

我非常需要帮助,我需要将数据库中的php json数据的日期输出到GoogleChartJavaScript。以下是我的php json代码:

上述代码输出以下内容:

[ts:“20170915”,“ph:“8”,“潮湿的”:“1”},{“ts:“20170913”,“ph:“8”,“潮湿的”:“1”},{“ts:“20170916”,“ph:“3”,“潮湿的”:“1”},{“ts:“20170908”,“ph:”2”,“潮湿的”:“1”{“ts:“20170901”,“ph:“3”,“潮湿的”:“5”},{“ts:“20170902”,“ph:”1064,“潮湿的”:“15},{“ts:“20170906”,“ph:”1896”,“潮湿的”}]

下面是我的javascript代码中关于日期的一行,它没有输出来自json的确切日期:

$。每个(结果、函数(i、行){
var dbdate=新日期()
console.log(dbdate)
data.addRow([
新日期(dbdate.getFullYear(),dbdate.getMonth(),row.ts),
//新日期(dbdate.getFullYear()行.ts),
parseFloat(世界其他地区),
parseFloat(湿排)
]);
});

您可能在问如何从一些JSON获取时间戳并将其转换为日期

首先解析JSON,然后获取时间戳,然后将它们解析为日期。所有这些问题以前都已经回答过,但很可能这是一个重复的问题,应该重命名它。如何将字符串解析为日期,为什么不使用内置解析器

var text='[{“ts”:“20170915”,“ph”:“8”,“潮湿”:“1”},{“ts”:“20170913”,“ph”:“8”,“潮湿”:“1”},{“ts”:“20170916”,“ph”:“3”,“潮湿”:“1”},{“ts”:“20170908”,“ph”:“2”,“潮湿”:“1”},{“ts”:“20170901”,“ph”:“3”,“潮湿”:“5”},{“ts”:“20170902”,“ph”:“1064”,“潮湿”:“15”,“ts”:“20170906”,“ph”:“1890”};
//解析JSON
var arr=JSON.parse(文本);
//获取时间戳并解析为日期
//助手:解析yyyymmdd到日期
函数解析日期(个){
var b=s.match(/\d\d/g);
返回新日期(b[0]+b[1],b[2]-1,b[3]);
}
//显示日期
arr.forEach(功能(obj){
log(parseDate(obj.ts).toString());

});您可能在问如何从一些JSON获取时间戳并将其转换为日期

首先解析JSON,然后获取时间戳,然后将它们解析为日期。所有这些问题以前都已经回答过,但很可能这是一个重复的问题,应该重命名它。如何将字符串解析为日期,为什么不使用内置解析器

var text='[{“ts”:“20170915”,“ph”:“8”,“潮湿”:“1”},{“ts”:“20170913”,“ph”:“8”,“潮湿”:“1”},{“ts”:“20170916”,“ph”:“3”,“潮湿”:“1”},{“ts”:“20170908”,“ph”:“2”,“潮湿”:“1”},{“ts”:“20170901”,“ph”:“3”,“潮湿”:“5”},{“ts”:“20170902”,“ph”:“1064”,“潮湿”:“15”,“ts”:“20170906”,“ph”:“1890”};
//解析JSON
var arr=JSON.parse(文本);
//获取时间戳并解析为日期
//助手:解析yyyymmdd到日期
函数解析日期(个){
var b=s.match(/\d\d/g);
返回新日期(b[0]+b[1],b[2]-1,b[3]);
}
//显示日期
arr.forEach(功能(obj){
log(parseDate(obj.ts).toString());

});我创建了以下行:

$wholedate=date('c',strottime($row['time_stamp'])

并将其分配给数组时间戳:

$data\u points[$DayNum]->time\u stamp=$wholedate

然后在我的Javascript中,我将jsonData分配给google可视化:

var data=new google.visualization.DataTable(jsonData)

现在它至少可以工作了,所以我仍然不知道这些代码是否有缺点


我创建了以下行:

$wholedate=date('c',strottime($row['time_stamp'])

并将其分配给数组时间戳:

$data\u points[$DayNum]->time\u stamp=$wholedate

然后在我的Javascript中,我将jsonData分配给google可视化:

var data=new google.visualization.DataTable(jsonData)

现在它至少可以工作了,所以我仍然不知道这些代码是否有缺点


想想你在约会功能中放了什么。。。您必须对json输出进行排序,这是您的实际问题:“如何将类似20170915的字符串解析为日期”?如果您想将json格式的日期从php传递到google图表,而无需在客户端进行操作,请检查……想想您在日期函数中放了什么。。。您必须对json输出进行排序。这是您的实际问题:“如何将类似20170915的字符串解析为日期”?如果您希望在不在客户端进行操作的情况下将json格式的日期从php传递到google图表,请检查……感谢您的回复。我非常感谢,但我想从您的代码中询问,例如var文本,如果json来自另一个数据库格式的文件,怎么可能呢?我能问你怎么处理吗?谢谢你的回答。我非常感谢,但我想问你的代码,例如var文本,如果json来自另一个数据库格式的文件,怎么可能呢?我能问你怎么处理吗?
$data_points = array();
while($row = mysqli_fetch_array($result)){  
$wholedate = $row['time_stamp'];    
$monthNum = date('m',strtotime($row['time_stamp']));
$DayNum = date('d', strtotime($row['time_stamp']));   
$yearnum = date('Y', strtotime($row['time_stamp']));   
$dateObj   = DateTime::createFromFormat('!m', $monthNum);
$monthName = $dateObj->format('F');
if($monthNum == "9"){
      if (array_key_exists($DayNum, $data_points)) {
      $data_points[$DayNum]->ph += $row['ph'];
      $data_points[$DayNum]->moist += $row['moist'];
          }else{
      $data_points[$DayNum]->ts = $yearnum."".$monthNum."".$DayNum;    
      $data_points[$DayNum]->ph = $row['ph'];
      $data_points[$DayNum]->moist = $row['moist'];   
  }
}

  }
$jsonResult = json_encode(array_values($data_points));
echo $jsonResult;
$.each(results, function (i, row) {
          var dbdate = new Date(<?php echo $jsonResult;?>)
          console.log(dbdate)

          data.addRow([
          new Date(dbdate.getFullYear(), dbdate.getMonth(), row.ts),
         // new Date(dbdate.getFullYear()row.ts),
          parseFloat(row.ph),
          parseFloat(row.moist)
            ]);
          });