我的软件正在等待这样的输入:
var calEvents = [
{"name":"2440 Százhalombatta, Bláthy Ottó utca 10","start":new Date('2019-10-20'),"end":new Date('2019-10-20'),"summary":"Ez egy teszt üzenet"},
{"name":"2440 Százhalombatta, Bláthy Ottó utca 10","start":new Date('2019-10-22'),"end":new Date('2019-10-22'),"summary":"Ez egy teszt üzenet"},
];
我的代码是:
<?php
$return_arr = array();
$fetch = mysql_query("SELECT * FROM munkalap");
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
$row_array['name'] = $row['cim'];
$row_array['start'] = "new Date("2019-10-20")";
$row_array['end'] = "new Date("2019-10-20")";
$row_array['summary'] = $row['cim'];
array_push($return_arr,$row_array);
}
echo json_encode($return_arr, JSON_UNESCAPED_UNICODE);
?>
我的错误是我不能以这种格式传递日期:
new Date("2019-10-20")
最佳答案
你不能那样做。您正在处理的 PHP 中 start
和 end
的值是一个字符串,而不是 JS Date()
对象。你不能在 PHP 中执行这样的 JS 代码。
但是在PHP中只能处理日期,在JS中可以通过以下方式将其转换为Date()
对象:
PHP:
<?php
$return_arr = array();
$fetch = mysql_query("SELECT * FROM munkalap");
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
$row_array['name'] = $row['cim'];
$row_array['start'] = '2019-10-20';
$row_array['end'] = '2019-10-20';
$row_array['summary'] = $row['cim'];
array_push($return_arr,$row_array);
}
echo json_encode($return_arr, JSON_UNESCAPED_UNICODE);
?>
Javascript:
var calEvents = [
{"name":"2440 Százhalombatta, Bláthy Ottó utca 10","start":'2019-10-20',"end":'2019-10-20',"summary":"Ez egy teszt üzenet"},
{"name":"2440 Százhalombatta, Bláthy Ottó utca 10","start":'2019-10-22',"end":'2019-10-22',"summary":"Ez egy teszt üzenet"},
];
calEvents = calEvents.map(i => {
i.start = new Date(i.start)
i.end = new Date(i.end)
return i;
})
我给你的建议:
关于javascript - json 编码新日期 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57336009/