【问题标题】:adding explode time in php在php中添加爆炸时间
【发布时间】:2019-01-05 16:18:33
【问题描述】:

我有一个表服务,字段是 Proc_ID、Proc_No、Proc_Services、Proc_time 和 Proc_Price。我想添加所有服务的过程时间(Proc_Time)。

这是代码

If
00:15:00

00:30:00

答案是 00:45:00.. 但我的代码得到了错误的答案。如果开始时间是上午 9:00,服务 1 是 00:15:00,服务 2 是 00:30:00,则预订结束时间是 9:45。

$dt = $_POST['restime'];
$p1 = $_POST['dermaproc'];

$tmp = "";

foreach ($p1 as $key) {
    $tmp .= $key;
}

$today = strtotime("TODAY");

 $sql3 = "SELECT * FROM services WHERE Proc_ID = '$tmp' ";
 $res3 = $conx->query($sql3);
 $row3 = $res3->fetch_assoc();

      $explode = explode(",", $tmp); 
      foreach ($explode as $key1) {

 $sql4 = "SELECT Proc_Time FROM services WHERE Proc_ID = '$key1'";

      $res4 = $conx->query($sql4);
      $row4 = $res4->fetch_assoc();
      $pt = $row4['Proc_Time'];
      $m_time1 = strtotime($dt) - $today;
      $m_time2 = strtotime($pt) - $today;
      $m_total = $m_time1 + $m_time2 + $today;
      $etime = date('h:i:s', $m_total);

      echo    $etime;

【问题讨论】:

    标签: php mysql datetime


    【解决方案1】:

    您需要将每个过程的所有时间相加,然后将其添加到开始时间,因此这会循环每个过程(我假设 $_POST['dermaproc'] 包含过程列表),它只是添加增加循环中每个过程的时间。在循环之后,它将总时间添加到约会开始时间。

    $dt = $_POST['restime'];
    $p1 = $_POST['dermaproc'];
    $today = strtotime("TODAY");
    
    $m_total = 0;
    foreach ($p1 as $key1) {
        $sql4 = "SELECT Proc_Time FROM services WHERE Proc_ID = '$key1'";
        $res4 = $conx->query($sql4);
        $row4 = $res4->fetch_assoc();
        $m_total += strtotime($row4['Proc_Time']) - $today;
    }
    $etime = date('H:i:s', $m_total+strtotime($dt));
    
    echo     $etime;
    

    【讨论】:

    • 非常感谢,但如果我想要答案是 24 小时格式。 12:00:00 是开始日期,加上 01:00:00 等于 13:00:00。请回复。谢谢
    • 您需要做的就是将日期格式更改为'H:i:s' - 更新了答案。
    猜你喜欢
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 2017-02-18
    • 1970-01-01
    • 2014-06-04
    相关资源
    最近更新 更多