【问题标题】:Finding Average Time for Created At and Updated At - PHP & MYSQL查找创建时间和更新时间的平均时间 - PHP & MYSQL
【发布时间】:2023-04-10 05:23:02
【问题描述】:

我有一个表已created_at 和updated_at。 Created at 是客户购买订单的时间,updated_at 字段在订单被批准时更新,如下所示。

我想了解我的管理员批准下表中的项目所花费的平均时间。这是我的 sql

SELECT AVG( TIMEDIFF(  `created_at` ,  `updated_at` ) ) AS time_average
FROM table

我的结果是 8025356.2742000870。我走在正确的道路上吗?如何将平均时间转换为小时,例如2hrs 15mins

表格

Item        created_at                   updated_at

Iphone     2020-01-01 00::00::00         2020-02-04 10::20::20

Samsung    2020-04-01 08::40::00         2020-03-03 10::20::20

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    是的,您可以使用 strtotime() $time = date('H :i', strtotime($res)); 找到答案 这是我尝试过的,

    $connect = new mysqli($localhost, $username, $password, $dbname);
    
    $sql = "SELECT AVG( TIMEDIFF(  `created_at` ,  `updated_at` ) ) AS time_average FROM table";
    $result = $connect->query($sql);
    $row  = $result->fetch_assoc();
    $res = $row["time_average"];
    //echo "avg".$res."<br/>";
    
    $time = date('H :i', strtotime($res));
    echo "time avarage : ".$time;
    

    那么你可以用explode方法描述如下,

    $timeArray =explode(":", $time);
    echo $timeArray[0]."hrs ".$timeArray[1]."mins"; 
    

    它工作正常,并认为它会帮助你。

    【讨论】:

      猜你喜欢
      • 2011-03-30
      • 2012-07-30
      • 1970-01-01
      • 2011-01-14
      • 2010-09-18
      • 1970-01-01
      • 2021-03-14
      相关资源
      最近更新 更多