【问题标题】:php mysql date.utc and count the occurancephp mysql date.utc 并计算出现次数
【发布时间】:2013-09-04 19:06:05
【问题描述】:

需要帮助才能获得如下所示的结果我已经尝试了很多但无法成功。计算日期出现的次数并在数组中显示。 [[Date.UTC(2011,9,23),1],[Date.UTC(2011,9,24),2],[Date.UTC(2011,9,25),5]]。

到目前为止,我能够将日期提取为数组格式,以下是我的结果。 [[“03-09-2011”],[“06-09-2011”],[“06-09-2011”]]。如何添加另一行以显示每个日期和日期 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);

【问题讨论】:

    标签: php mysql date utc


    【解决方案1】:

    您可以使用 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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      相关资源
      最近更新 更多