如何将JSON日期显示到javascript google图表
我非常需要帮助,我需要将数据库中的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的确切日期:如何将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”,“潮湿的”
$。每个(结果、函数(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)
]);
});