时间顺从
我在数据库中的这些值:时间顺从
START_TIME:
- 2017年1月1日15时38
- 2017年1月1日14点25
- 1/1/2017 13:00
我想要的是计算未授权d持续时间与时间'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>';
但这不起作用。它显示了类似的消息:
Warning: date_diff() expects parameter 1 to be DateTimeInterface, integer given in C:\xampp\htdocs\mct\unauthorized.php on line 13
Fatal error: Call to a member function format() on a non-object in C:\xampp\htdocs\mct\unauthorized.php on line 14
请帮助!
回答:
这是一个简单的方法:
$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 = date_create($value['start']); $limit = date_create("16:00:00");
alternativly
$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');
以上是 时间顺从 的全部内容, 来源链接: utcz.com/qa/263516.html