gpt4 book ai didi

php - 在循环内转换日期会中断循环

转载 作者:行者123 更新时间:2023-11-29 13:17:56 25 4
gpt4 key购买 nike

所以我有一个 MySQL 查询输入到一个数组中以对其进行清理以满足图形库的需求。我尝试将当前的 24 小时制时间转换为稍微漂亮的 12 小时制。但是当我这样做时,它会在一次迭代后终止循环,因此只有一个值被输入到图表中(而不是一整天的值)。我对 PHP 很陌生,所以我不确定是什么破坏了这个。完成我需要做的事情的正确方法是什么?

$data = $conn->query('SELECT HOUR( TIMESTAMP ) AS HOUR , COUNT( DISTINCT detected_key ) AS num_rows
FROM Visitors
WHERE TIMESTAMP >= NOW( ) - INTERVAL 1 DAY
GROUP BY HOUR( TIMESTAMP )
ORDER BY `id` ASC
LIMIT 0 , 24');

while($row = $data->fetch(PDO::FETCH_ASSOC)) {
$prettytime = DATE("g:i a", STRTOTIME($row['HOUR']));
$visit[$prettytime]= $row['num_rows'];
}

编辑:我已经尝试使用 DATE_FORMAT,但仍然只是输出为 24 小时格式。我在 MySQL 网站上找到的唯一文档总是在 SELECT 之后。

SELECT DATE_FORMAT( TIMESTAMP,  "%l:%i %a" ) , HOUR( TIMESTAMP ) AS HOUR , COUNT( DISTINCT detected_key ) AS num_rows
FROM Visitors
WHERE TIMESTAMP >= NOW( ) - INTERVAL 1 DAY
GROUP BY HOUR( TIMESTAMP )
ORDER BY `id` ASC
LIMIT 0 , 24

这里是the website您可以在其中看到图表。使用上面的查询的是左上图。

最佳答案

这似乎在定义为

的数据库字段中工作得相当好
`thetime` timestamp NULL DEFAULT CURRENT_TIMESTAMP

然后使用 MySQL DATE_FORMAT() 和 HOUR() 函数:-

SELECT thetime, DATE_FORMAT(thetime, '%r') from test_table

给出结果:-

2014-01-20 10:57:45, 10:57:45 AM
2014-01-20 23:59:31, 11:59:31 PM

或者

SELECT thetime, HOUR(DATE_FORMAT(thetime, '%r')) from test_table

给予:-

2014-01-20 10:57:45, 10
2014-01-20 23:59:31, 11

关于php - 在循环内转换日期会中断循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21230964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com