全部, 我通过循环我的数据库并填充一些值来创建一些JSON数组。执行此操作的代码是:
$return_arr = array();
$fetch = mysql_query("SELECT * FROM calendar_events");
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
$row_array['id'] = $row['id'];
$row_array['title'] = $row['title'];
$row_array['start'] = $row['start'];
$row_array['end'] = $row['end'];
$row_array['allDay'] = $row['allDay'];
$row_array['description'] = $row['description'];
array_push($return_arr,$row_array);
}
echo json_encode($return_arr);
这项工作正常,但它没有正确显示日期。当我找到正确显示日期的示例时,它看起来像这样:
{
title: 'Birthday Party',
start: new Date(y, m, d, 12, 0),
end: new Date(y, m, d, 14, 0),
allDay: false
}
我如何使用PHP来格式化我的日期,所以它看起来一样。我的数据作为DATETIME存储在数据库中。任何想法将不胜感激!
谢谢!
答案 0 :(得分:4)
试试这个:
$row_array['start'] = date('Y-m-d', strtotime($row['start']));
$row_array['end'] = date('Y-m-d', strtotime($row['end']));
答案 1 :(得分:1)
从MySQL(在$ row数组中)检索的日期将采用'YYYY-MM-DD HH:MM:SS'的形式,因为它们与MySQL DATETIME类型一起存储。
“DATETIME类型用于包含日期和时间的值 部分。 MySQL在'YYYY-MM-DD中检索并显示DATETIME值 HH:MM:SS'格式。“ - The DATE, DATETIME, and TIMESTAMP Types - MySQL 5.5 Reference Manual
此格式是Supported Date and Time Formats的PHP DateTime class之一。这意味着您可以从MySQL DATETIME值轻松construct a PHP DateTime object。
e.g。为你的'开始'日期
$start = new DateTime($row['start']);
然后,您可以在新创建的DateTime对象上使用DateTime::format方法将其打印为任何您喜欢的格式的字符串。
e.g。如果你想以DD-MM-YYYY
的形式将日期放入$ row_array中$row_array['start'] = $start->format('d-m-Y');
另请注意,建议使用MySQL Improved Extension - mysqli连接MySQL数据库。
“如果您使用的是MySQL 4.1.3或更高版本,强烈建议您使用mysqli扩展名。” - php.net - mysqli overview
答案 2 :(得分:0)
使用php的date()函数创建日期字符串。
$dateStr = date("Y-m-d", $time);
如果您需要传递js日期对象,那么这不适合您。