Php 是否查找当前时间与数据库中存储的时间值之间的差异?

Php 是否查找当前时间与数据库中存储的时间值之间的差异?,php,Php,在上面的代码中,我正确地获得了数据库中存储的当前时间、日期和时间、日期值,但当我试图找到数据库中存储的当前时间和时间之间的差异时,我无法获得差异 当我直接像strotime('11:30:02')一样给出时间时;差异是可以计算出来的,但当我试图得到存储在数据库中的时间值时,我不能 快来帮我!!!我尝试了很多…试试这个你需要专门设置时区,否则默认情况下需要UTC $fetch=mysql_query("select * from code where user_email='$email' ord

在上面的代码中,我正确地获得了数据库中存储的当前时间、日期和时间、日期值,但当我试图找到数据库中存储的当前时间和时间之间的差异时,我无法获得差异

当我直接像strotime('11:30:02')一样给出时间时;差异是可以计算出来的,但当我试图得到存储在数据库中的时间值时,我不能


快来帮我!!!我尝试了很多…

试试这个你需要专门设置时区,否则默认情况下需要
UTC

$fetch=mysql_query("select * from code where user_email='$email' order by reg_date desc limit 1");
$db=mysql_fetch_array($fetch);
print_r($db);
$db_date=$db['reg_date'];
$db_time=$db['time'];
echo "DB_Date:".$db_date."--";
echo "DB_time:".$db_time."--";


        $current_date = date('Y-m-d');  
        echo "present date".$current_date."--";
        $curent_time = date('H:i:s');
        echo "current time:".$curent_time."--";
        $first_time = strtotime($curent_time);
        $last_time = strtotime($db_time);
        $time = $first_time - $last_time;

        $time_differenc= ($time/60)%60;
        echo "difference".$time_difference."--";

您在dbi中存储了什么类型的数据?我已将其存储为Varchar。很抱歉,这不起作用。为什么不能将db更改为在单个字段中容纳日期时间。然后你可以这样做,我试过了,但是当我把日期和时间存储在同一个字段中,在我获取它并使用srttotime()转换它之后,差异会在几分钟内变成2348900,就像这样…不完全一样。但差异只显示为这样…这就是为什么它试图在单独的字段中更改它的原因…“日期\默认值\时区\设置(“亚洲/加尔各答”);”--->在我添加了这个代码之后,我得到了不同。非常感谢!!
$dbdatetime = $row['datetime'];//datetime from database: "2014-05-18 18:10:18"
date_default_timezone_set("Asia/Kolkata"); //setting default timezone based on your location
$curdatetime = date("Y-m-d H:i:s"); //current datetime

if($curdatetime > $dbdatetime){
    $diff = abs(strtotime($curdatetime) - strtotime($dbdatetime));
}else{
    $diff = abs(strtotime($dbdatetime) - strtotime($curdatetime));
}
echo "The difference is "$diff/60." minutes";