需要帮助才能获得如下结果我已经尝试了很多但是无法成功。计算日期出现次数并在数组中显示。 [[Date.UTC(2011,9,23),1],[Date.UTC(2011,9,24),2],[Date.UTC(2011,9,25),5]。
到目前为止,我能够将日期提取为数组格式,下面是我的结果。 [[ “2011年3月9日”],[ “2011年6月9日”],[ “2011年6月9日”]]。如何添加另一行来显示每个日期和日期的计数Date.UTC?
请帮忙
我的代码
$mysql_connect = mysql_connect($db_host, $db_user, $db_pword, $db_name);
$query = "SELECT DATE_FORMAT(`timestamp`,'%d-%m-%Y') as date from mytable";
if (!$mysql_connect) die("unable to connect to database: " . mysql_error());
@mysql_select_db($db_name) or die( "Unable to select database");
$result = mysql_query($query);
$response = array();
$stats = array();
while($row=mysql_fetch_array($result))
{
$date = $row ['date'];
$stats[] = array ($date);
}
$Response[] = $stats;
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($Response));
fclose($fp);
//die ("Failed to execute Query: " . mysql_error());
mysql_close($mysql_connect);
答案 0 :(得分:0)
您可以使用GROUP BY子句获取已经从数据库中计算出的日期:
SELECT
DATE_FORMAT(`timestamp`,'%d-%m-%Y') as date,
COUNT(*) as frequency
FROM mytable
GROUP BY DATE_FORMAT(`timestamp`,'%d-%m-%Y')
从日期字符串到时间戳的转换(如Javascript' Date.UTC所做的那样)可以在PHP或MySQL中完成。 UNIX_TIMESTAMP(CAST(timestamp AS DATE))
将直接从数据库中获取日期的时间戳。
在PHP中http://php.net/manual/en/function.strtotime.php可用于从您正在检索的格式中获取unix时间戳:$date_utc = strtotime($row['date']);
为了更多控制,请使用DateTime http://php.net/manual/en/book.datetime.php(strtotime无法配置 - 它只使用标准假设)。
$date_time = DateTime::createFromFormat('d-m-Y', $row['date']);
$date_utc = $date_time->getTimestamp();