Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 与数据库值的时间差_Php_Mysqli - Fatal编程技术网

Php 与数据库值的时间差

Php 与数据库值的时间差,php,mysqli,Php,Mysqli,我在数据库中有以下值: 开始时间: 2017年1月1日15:38 2017年1月1日14:25 2017年1月1日13:00 我想要的是根据时间“16:00:00”计算未经授权的持续时间,并列出持续时间。这就是我所做的 include 'includes/db_conn.php'; $result = mysqli_query($connection,"SELECT * FROM time") or die(mysqli_error($connection)); ech

我在数据库中有以下值:


开始时间:

  • 2017年1月1日15:38
  • 2017年1月1日14:25
  • 2017年1月1日13:00
我想要的是根据时间“16:00:00”计算未经授权的持续时间,并列出持续时间。这就是我所做的

include 'includes/db_conn.php';
$result = mysqli_query($connection,"SELECT * FROM time") or die(mysqli_error($connection));
echo "<table border=1>"
. "<tr>"
. "<td>Start Time</td>"
. "<td>Limit</td>"
. "<td>Unauthorized Time</td>"
. "</tr>";
     foreach ($result as $value) {
       $db_date = strtotime($value['start']);
       $limit = strtotime("16:00:00");
       $interval = date_diff($limit,$db_date);
       $unauto = $interval->format('%h:%i:%s');
     echo "<tr>"
    . "<td>".$value['start']."</td>"
    . "<td>16:00:00</td>"
     . "<td>".$unauto."</td>".
    "</tr>";
   }
echo '</table>';
include'includes/db_conn.php';
$result=mysqli_query($connection,“SELECT*FROM time”)或die(mysqli_error($connection));
回声“”
. ""
. “开始时间”
. “限制”
. “未经授权的时间”
. "";
foreach(结果为$value){
$db_date=strottime($value['start']);
$limit=strottime(“16:00:00”);
$interval=date\u diff($limit,$db\u date);
$unauto=$interval->format(“%h:%i:%s”);
回声“”
.“.$value['start']”
. "16:00:00"
.“$unauto.”。
"";
}
回声';
但这是行不通的。它会显示如下消息:

警告:date_diff()要求参数1为DateTimeInterface, 第13行C:\xampp\htdocs\mct\unauthorized.php中给出的整数

致命错误:对中的非对象调用成员函数format() 第14行C:\xampp\htdocs\mct\unauthorized.php

请帮忙

 $db_date = date_create($value['start']);
 $limit = date_create("16:00:00");
交替地

$db_date = strtotime($value['start']);
$limit = strtotime("16:00:00");
$diff = $db_date-$limit;
$interval = DateInterval::createFromDateString($diff.' seconds');
$unauto = $interval->format('%h:%i:%s');
交替地

$db_date = strtotime($value['start']);
$limit = strtotime("16:00:00");
$diff = $db_date-$limit;
$interval = DateInterval::createFromDateString($diff.' seconds');
$unauto = $interval->format('%h:%i:%s');
这是一个简单的方法:

$db_date = new DateTime(date('H:i:s',strtotime($value['start'])));
$limit = new DateTime(date('H:i:s',strtotime("16:00:00")));
$interval = date_diff($limit,$db_date);
$unauto = $interval->format('%h:%i:%s');
这是一个简单的方法:

$db_date = new DateTime(date('H:i:s',strtotime($value['start'])));
$limit = new DateTime(date('H:i:s',strtotime("16:00:00")));
$interval = date_diff($limit,$db_date);
$unauto = $interval->format('%h:%i:%s');

结果显示为“0:0:2161320”。从上面的数据库中获取第一行值并进行尝试。结果如下所示:“0:0:2161320”。从上面的数据库中获取第一行值并尝试。非常感谢Mohammad先生。非常感谢Mohammad先生。