gpt4 book ai didi

php - MySQL PHP 每小时占用率

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

我有一个表,其中包含特定对象的 unix 时间戳中的 time_fromtime_to 。时间是占用或使用数字,因此时间可以从下午 1 点到下午 3 点。

我想做的是制作一个图表(在 JS 中准备好),类似于 Google 在 Google map 中显示商店营业时间“最喜欢的时间”,即。您可以看到哪些时间访客较多/较少。这应该反射(reflect)自数据库启动以来特定对象名称的所有条目。

我不确定从哪里开始,因为我认为平均不是执行此操作的正确方法。我预计,如果一个条目的占用时间为 13:30 至 15:30,则 13、14、15 小时各获得 +1。如果下一个条目是 12:00 到 13:40,则 12 和 13 获得 +1。

在这个简短的示例中,图表将显示 12、14、15(1 个单位)和 13(2 个单位)。

但是又出现了一个问题。如何决定何时将一小时计为 +1?如果时间是 15:05 到 16:05,则不给 16 +1 是有意义的。这将需要对小时中的分钟进行某种计算,以确定该小时是否被“占用”。

如何从数据库中查询以获得正确的单位?

最佳答案

我猜你正在处理表行的含义

person x was in the store from 2017-02-28 12:25 to 2017-02-28 14:10

以及类似的信息。您需要决定如何对您的时间进行评分。这里有一些替代方案,您可以从中选择一个。

  1. 如果每个样本中的时间间隔覆盖了该小时的顶部,那么您将给该小时 +1。对于我的示例行,13:00 和 14:00 的时间将获得 +1。这可能是最容易实现的。不统计13:10到达、13:20离开的人数。

  2. 如果每个样本中的时间间隔与从该小时前半小时到该小时后不到半小时的时间间隔完全相交,则会获得 +1。这对每个人都很重要。

将 UNIX 时间戳转换为日期/时间戳非常简单且相当便宜(尽管有相反的评论):

SELECT FROM_UNIXTIME(1488310427)

时间接近我写这篇文章的时间。

SELECT HOUR(FROM_UNIXTIME(1488310427));

获取该时间戳发生的时间。这些操作遵循 MySQL 连接的当前时区设置。例如,如果您想要大西洋标准时间一天中的某个小时,请执行此操作。

SET time_zone='America/Halifax';
SELECT HOUR(FROM_UNIXTIME(1488310427));

关于php - MySQL PHP 每小时占用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42516930/

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