php - 我怎样才能得到两个时间戳之间的差异

标签 php mysql

我正在做一个项目,因为我需要检查两个时间之间的时差,并且我还需要比较时差。如果时差 >= 10 分钟,我需要执行一些查询。请帮忙,我最近 2 天正在处理这个问题。

$db=new Database($dbserver,$dbuser,$dbpassword,$dbname);
$db->connect();
$result=$db->query("SELECT reservedBy, bikeNum FROM bikes WHERE reserveBy
IS NOT NULL");
while ($row=$result->fetch_assoc()) {
    $userid=$row["reservedBy"];
    $bike=$row["bikeNum"];
    $result=$db->query("SELECT time FROM history WHERE userId=$userid AND bikeNum=$bike AND action='RESERVE' ORDER BY time DESC LIMIT 1");
    $row=$result->fetch_assoc();
    $time=$row["time"];
    echo $time. "<br>";
    $date = date('Y-m-d H:i:s ', time());
    echo $date;
    $timediff=date_diff($date$time);
    if($timediff>10) {
         $result=$db->query("UPDATE bikes SET reservedBy=NULL WHERE 
bikeNum=$bike");
    }
}

最佳答案

试试这个

function datediff( $date1, $date2 )
{
    $diff = abs( strtotime( $date1 ) - strtotime( $date2 ) );

    return sprintf
    (
        "%d Days, %d Hours, %d Mins, %d Seconds",
        intval( $diff / 86400 ),
        intval( ( $diff % 86400 ) / 3600),
        intval( ( $diff / 60 ) % 60 ),
        intval( $diff % 60 )
    );
}

print datediff( "18th February 2013", "now" ) . "\n";

或者这个:

$start_date = new DateTime("2012-02-10 11:26:00");
$end_date = new DateTime("2012-04-25 01:50:00");
$interval = $start_date->diff($end_date);
echo "Result " . $interval->y . " years, " . $interval->m." months, ".$interval->d." days ";

关于php - 我怎样才能得到两个时间戳之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33754955/

相关文章:

mysql - 太多复合(多列)索引可以吗?

mysql - 能够在 Rails 控制台中将自己添加为好友

JavaScript 代码未正确检查 ajax 请求

php - 一个简单的 SQL 请求

php - 将查询结果传递到另一个页面php

php - 使用 PHP 将 MySQL 查询输出为 SQLite

mysql - 如何从2个表中获取所有数据

mysql - 从 MySQL 中获取 Lotus Notes 数据 View

php ajax 可以工作但不能在本地主机上工作

PHP 将 IPv6 转换为二进制(/内存)表示形式